/**
 * AllMyKids Theme - style.css
 * 독자적으로 제작된 오리지널 CSS
 * 그누보드5 기본 CSS와 충돌 방지를 위해 .amk- 접두어 사용
 */

/* =============================================
   엄마까투리 웹폰트
   ============================================= */
@font-face {
  font-family: 'Eommakkaturi';
  src: url('https://gcore.jsdelivr.net/gh/projectnoonnu/noonfonts_13@1.0/Katuri.woff') format('woff');
  font-weight: normal;
  font-display: swap;
}


@font-face {
    font-family: 'NexonLv1Gothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF Light.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'NexonLv1Gothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'NexonLv1Gothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}
/* =============================================
   0. CSS 변수 & 리셋
   ============================================= */
:root {
  --amk-primary:     #2ca5dd;   /* 진한 네이비 */
  --amk-primary-lt:  #2563a8;   /* 밝은 파랑 */
  --amk-accent:      #8bcb8a;   /* 연두 포인트 */
  --amk-text:        #000000;
  --amk-text-sub:    #000000;
  --amk-bg:          #ffffff;
  --amk-bg-gray:     #f7f8fa;
  --amk-footer-bg:   #1a1a2e;
  --amk-footer-text: #cccccc;
  --amk-border:      #e2e8f0;
  --amk-radius:      8px;
  --amk-shadow:      0 4px 20px rgba(0,0,0,0.10);
  --amk-transition:  0.3s ease;
  --amk-header-h:    64px;
  --amk-font-base:   'Poppins', 'Noto Sans KR', sans-serif;
  --amk-font-title:  'NexonLv1Gothic', 'Noto Sans KR', sans-serif;
}

/* lang별 폰트 최적화 */
[data-lang="kr"] { font-family: 'Poppins', 'Noto Sans KR', sans-serif; }
[data-lang="en"] { font-family: 'Poppins', 'Noto Sans KR', sans-serif; }
[data-lang="jp"] { font-family: 'Poppins', 'Noto Sans JP', sans-serif; }
[data-lang="cn"] { font-family: 'Poppins', 'Noto Sans SC', sans-serif; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  font-size: 18px;
}

body {
  font-family: var(--amk-font-base);
  font-size: 19px;
  color: var(--amk-text);
  background: var(--amk-bg);
  line-height: 1.75;
  overflow-x: hidden;
  width: 100%;
}

/* 전역 한글 단어 단위 줄바꿈 (그누보드 기본 CSS 오버라이드) */
*, *::before, *::after {
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
}

/* 그누보드 기본 CSS의 Malgun Gothic 폰트 강제 오버라이드 */
body, body *:not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]) {
  font-family: inherit;
}
#wrapper, .container, #bo_list, #bo_v, #bo_w, #bo_cate,
.bo_cate_tab, .tbl_head01, .tbl_wrap, .win_tbl,
textarea, input, select, button {
  font-family: var(--amk-font-base) !important;
}

/* 모바일 가로 오버플로우 방지 */
#amk-wrap {
  overflow-x: hidden;
  width: 100%;
}

/* 그누보드 기본 CSS min-width 오버라이드 */
#hd, #wrapper, #ft,
.container, #container,
.tbl_wrap, .tbl_head01,
table {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#bo_list, #bo_v, #bo_w, #ctt {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* 그누보드 기본 고정 너비 오버라이드 - 헤더와 동일한 1400px 컨테이너 */
#container_wr {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}
#container {
  width: 100% !important;
  float: none !important;
  min-height: auto !important;
}

/* 모든 섹션 가로 넘침 방지 */
section, footer, header, nav, main, div {
  max-width: 100%;
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--amk-transition);
}
a:hover { color: var(--amk-accent); }

img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }

/* =============================================
   1. 공통 컨테이너 & 섹션
   ============================================= */
.amk-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.amk-section {
  padding: 80px 0;
  overflow: hidden;
}

.amk-section-header {
  text-align: center;
  margin-bottom: 50px;
}

.amk-section-title {
  font-family: var(--amk-font-title) !important;
  font-size: 2.82rem;
  font-weight: 500;
  color: #000;
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 14px;
}

.amk-section-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--amk-accent);
  margin: 10px auto 0;
  border-radius: 2px;
}

.amk-section-sub {
  font-size: 1rem;
  color: var(--amk-text-sub);
}

/* =============================================
   2. HEADER - Topbar + Main Header
   ============================================= */
:root {
  --amk-topbar-h: 36px;
}

.amk-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  background: #fff;
  z-index: 1000;
  transition: background var(--amk-transition), box-shadow var(--amk-transition);
}

/* 메인 페이지: 투명 헤더 */
.amk-main-page .amk-header {
  background: transparent;
}

.amk-header.scrolled {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 2px 16px rgba(0,0,0,0.12);
}

/* --- 상단 Topbar --- */
.amk-topbar {
  background: #2ca5dd;
  height: var(--amk-topbar-h);
  font-size: 0.8rem;
  color: rgba(255,255,255,0.85);
}

.amk-main-page .amk-topbar {
  background: rgba(0,0,0,0.25);
}

.amk-main-page .amk-header.scrolled .amk-topbar {
  background: #2ca5dd;
}

.amk-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  gap: 16px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.amk-topbar-left { margin-right: auto; }

.amk-topbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* 회원 영역 (topbar) */
.amk-member-area {
  display: flex;
  align-items: center;
  gap: 6px;
}

.amk-member-area a {
  color: rgba(255,255,255,0.8);
  font-size: 0.8rem;
  padding: 2px 6px;
  transition: color var(--amk-transition);
}

.amk-member-area a:hover { color: #fff !important; }

.amk-member-nick {
  color: #fff !important;
  font-weight: 600;
  margin-right: 4px;
}

.amk-member-area a + a::before {
  content: '|';
  margin-right: 6px;
  color: rgba(255,255,255,0.3);
}

/* --- 메인 헤더 바 --- */
.amk-header-main {
  position: relative;
  height: var(--amk-header-h);
  background: rgba(255,255,255,0.98);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--amk-border);
  transition: background var(--amk-transition), border-color var(--amk-transition);
}

.amk-main-page .amk-header-main {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

.amk-main-page .amk-header.scrolled .amk-header-main {
  background: rgba(255,255,255,0.98);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--amk-border);
}

/* 메가메뉴 hover 시 헤더 배경 흰색 전환 (메인페이지) */
.amk-main-page .amk-header-main:has(.amk-gnb:hover) {
  background: rgba(255,255,255,0.98);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--amk-border);
}

/* 메가메뉴 hover 시 햄버거 원래 색 (메인페이지) */
.amk-main-page .amk-header-main:has(.amk-gnb:hover) .amk-hamburger .bar {
  background: var(--amk-primary);
}

.amk-header-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  max-width: 1400px;
  margin: 0 auto;
}

/* 로고 - 좌측 정렬 */
.amk-logo {
  flex-shrink: 0;
}

.amk-logo a {
  display: flex;
  align-items: center;
}

.amk-logo img {
  height: 46px;
  width: auto;
  object-fit: contain;
  transition: filter var(--amk-transition);
}

/* 로고는 항상 원래 색상 유지 (흰색 필터 없음) */

.amk-logo-text {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--amk-primary);
  letter-spacing: -0.02em;
  transition: color var(--amk-transition);
}

.amk-main-page .amk-logo-text {
  color: #fff !important;
}

.amk-main-page .amk-header.scrolled .amk-logo-text {
  color: var(--amk-primary);
}

/* =============================================
   3. 언어 선택기 (Topbar 내)
   ============================================= */
.amk-lang-switcher {
  position: relative;
}

.amk-lang-current {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 16px;
  padding: 3px 10px;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 600;
  color: #fff !important;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: background var(--amk-transition);
  white-space: nowrap;
}

.amk-lang-current:hover {
  background: rgba(255,255,255,0.2);
}

.amk-lang-arrow {
  font-size: 0.65rem;
  transition: transform var(--amk-transition);
}

.amk-lang-current[aria-expanded="true"] .amk-lang-arrow {
  transform: rotate(180deg);
}

.amk-lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: #fff;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  box-shadow: var(--amk-shadow);
  min-width: 140px;
  z-index: 1100;
  overflow: hidden;
  animation: amkFadeIn 0.18s ease;
}

.amk-lang-dropdown.open { display: block; }

.amk-lang-dropdown li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  font-size: 0.88rem;
  color: var(--amk-text);
  transition: background var(--amk-transition);
}

.amk-lang-dropdown li a:hover,
.amk-lang-dropdown li a.active {
  background: var(--amk-bg-gray);
  color: var(--amk-primary-lt);
}

.amk-lang-dropdown li a.active { font-weight: 700; }

.flag-emoji { font-size: 1.1rem; line-height: 1; }

@keyframes amkFadeIn {
  from { opacity:0; transform:translateY(-6px); }
  to   { opacity:1; transform:translateY(0); }
}

/* =============================================
   4. 데스크톱 수평 네비게이션 (GNB)
   ============================================= */
.amk-gnb {
  display: none;
  margin-left: auto;
}

.amk-gnb-list {
  display: flex;
  align-items: center;
  gap: 0;
}

.amk-gnb-item {
  position: relative;
}

.amk-gnb-link {
  display: block;
  padding: 0 22px;
  line-height: var(--amk-header-h);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--amk-text);
  white-space: nowrap;
  transition: color var(--amk-transition), text-shadow var(--amk-transition);
}

.amk-gnb-link:hover,
.amk-gnb-item:hover > .amk-gnb-link {
  color: var(--amk-accent);
}

/* GNB 호버 시 대메뉴 밑줄 표시 */
.amk-gnb-item {
  position: relative;
}

.amk-gnb-item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 22px;
  right: 22px;
  height: 3px;
  background: var(--amk-accent);
  transform: scaleX(0);
  transition: transform var(--amk-transition);
}

.amk-gnb-item:hover::after {
  transform: scaleX(1);
}

/* 메인 페이지: 흰색 메뉴 텍스트 */
.amk-main-page .amk-gnb-link {
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

/* 메가메뉴가 열릴 때 메뉴 텍스트 어둡게 (메인페이지) */
.amk-main-page .amk-gnb:hover .amk-gnb-link {
  color: var(--amk-text) !important;
  text-shadow: none !important;
}

.amk-main-page .amk-gnb:hover .amk-gnb-item:hover > .amk-gnb-link {
  color: var(--amk-accent);
}

.amk-main-page .amk-header.scrolled .amk-gnb-link {
  color: var(--amk-text) !important;
  text-shadow: none !important;
}

.amk-main-page .amk-header.scrolled .amk-gnb-link:hover,
.amk-main-page .amk-header.scrolled .amk-gnb-item:hover > .amk-gnb-link {
  color: var(--amk-accent);
}

/* ── 메가 드롭다운 메뉴 ── */
.amk-mega-menu {
  display: none;
  position: absolute;
  top: var(--amk-header-h);
  left: 0;
  right: 0;
  background: #fff;
  border-top: 2px solid var(--amk-accent);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  z-index: 1050;
  animation: amkFadeIn 0.2s ease;
}

/* GNB 영역에 hover하면 메가메뉴 표시 */
.amk-gnb:hover .amk-mega-menu,
.amk-mega-menu:hover {
  display: block;
}

.amk-mega-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 1400px;
  margin: 0 auto;
  padding: 36px 40px 40px;
}

.amk-mega-col {
  padding: 0 20px;
  border-right: 1px solid var(--amk-border);
}

.amk-mega-col:last-child {
  border-right: none;
}

.amk-mega-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--amk-primary);
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 2px solid var(--amk-primary);
}

.amk-mega-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.amk-mega-list > li > a {
  display: block;
  padding: 7px 0;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--amk-text);
  transition: color var(--amk-transition), padding-left var(--amk-transition);
}

.amk-mega-list > li > a:hover {
  color: var(--amk-accent);
  padding-left: 6px;
}

/* 3단계 서브메뉴 */
.amk-mega-depth3 {
  padding-left: 14px;
  margin: 2px 0 6px;
}

.amk-mega-depth3 li a {
  display: block;
  padding: 4px 0;
  font-size: 0.82rem;
  color: var(--amk-text-sub);
  transition: color var(--amk-transition);
}

.amk-mega-depth3 li a:hover {
  color: var(--amk-accent);
}

.amk-mega-depth3 li a::before {
  content: '─ ';
  color: #ccc;
  font-size: 0.7rem;
}

/* 데스크톱에서 GNB 표시 + 햄버거(사이트맵) 항상 표시 */
@media (min-width: 1025px) {
  .amk-gnb { display: block; }
}

/* 햄버거 (모바일/태블릿) */
.amk-hamburger {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  width: 36px;
  height: 28px;
  z-index: 1001;
}

.amk-hamburger .bar {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--amk-primary);
  border-radius: 2px;
  transition: transform var(--amk-transition), opacity var(--amk-transition), background var(--amk-transition);
}

.amk-main-page .amk-hamburger .bar {
  background: #fff;
}

.amk-main-page .amk-header.scrolled .amk-hamburger .bar {
  background: var(--amk-primary);
}

.amk-hamburger.open .bar:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.amk-hamburger.open .bar:nth-child(2) { opacity: 0; }
.amk-hamburger.open .bar:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* =============================================
   4-1. 모바일 슬라이드 메뉴
   ============================================= */
.amk-mobile-nav {
  display: none;
  position: fixed;
  top: calc(var(--amk-topbar-h) + var(--amk-header-h));
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(100vh - var(--amk-topbar-h) - var(--amk-header-h));
  height: calc(100dvh - var(--amk-topbar-h) - var(--amk-header-h));
  background: #fff;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 999;
  padding: 10px 0 40px;
  animation: amkSlideDown 0.3s ease;
}

.amk-mobile-nav.open { display: block; }

@keyframes amkSlideDown {
  from { opacity:0; transform:translateY(-10px); }
  to   { opacity:1; transform:translateY(0); }
}

.amk-mobile-menu { padding: 0; }

.amk-mobile-item {
  border-bottom: 1px solid var(--amk-border);
}

/* 토글 버튼 (대메뉴) */
.amk-mobile-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 20px;
  background: none;
  border: none;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--amk-text);
  cursor: pointer;
  font-family: inherit;
}

.amk-mobile-toggle:hover { color: var(--amk-accent); }

.amk-mobile-arrow {
  font-size: 1.2rem;
  transition: transform var(--amk-transition);
}

.amk-mobile-toggle.open .amk-mobile-arrow {
  transform: rotate(90deg);
}

.amk-mobile-link {
  display: block;
  padding: 14px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--amk-text);
}

.amk-mobile-link:hover { color: var(--amk-accent); }

/* 서브메뉴 (아코디언) */
.amk-mobile-sub {
  display: none;
  background: var(--amk-bg-gray);
}

.amk-mobile-sub.open { display: block; }

.amk-mobile-sub > li {
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.amk-mobile-sub > li:last-child {
  border-bottom: none;
}

.amk-mobile-sub li a,
.amk-mobile-sub li .amk-mobile-toggle {
  display: block;
  padding: 13px 20px 13px 36px;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--amk-text-sub);
  line-height: 1.4;
}

.amk-mobile-sub li .amk-mobile-toggle {
  display: flex;
  width: 100%;
}

.amk-mobile-sub li a:hover { color: var(--amk-accent); }

/* 3단계 서브 */
.amk-mobile-sub .amk-mobile-sub {
  background: #eef1f5;
}

.amk-mobile-sub .amk-mobile-sub li a {
  padding-left: 52px;
  font-size: 0.84rem;
}

/* 모바일 회원 영역 */
.amk-mobile-member {
  display: flex;
  gap: 10px;
  padding: 18px 20px;
  border-top: 1px solid var(--amk-border);
}

.amk-mobile-member a {
  flex: 1;
  text-align: center;
  padding: 10px;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--amk-primary);
  transition: background var(--amk-transition), color var(--amk-transition);
}

.amk-mobile-member a:hover {
  background: var(--amk-primary);
  color: #fff !important;
}

/* 모바일 언어 선택 */
.amk-mobile-lang {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 20px;
}

.amk-mobile-lang a {
  font-size: 0.82rem;
  color: var(--amk-text-sub);
  background: var(--amk-bg-gray);
  border-radius: 16px;
  padding: 5px 14px;
  transition: background var(--amk-transition), color var(--amk-transition);
}

.amk-mobile-lang a:hover,
.amk-mobile-lang a.active {
  background: var(--amk-accent);
  color: #fff !important;
}

/* 오버레이 */
.amk-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 998;
  animation: amkFadeIn 0.2s ease;
}

.amk-overlay.show { display: block; }

/* =============================================
   5. 메인 슬라이더
   ============================================= */
.amk-slider {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 500px;
  overflow: hidden;
  margin-top: calc(var(--amk-topbar-h) + var(--amk-header-h));
}

/* 메인 페이지: 슬라이더가 헤더 뒤로 확장 */
.amk-main-page .amk-slider {
  margin-top: 0;
}

.amk-slider-track {
  width: 100%;
  height: 100%;
  position: relative;
}

.amk-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.9s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 슬라이더 이미지가 없을 때 그라디언트 배경 */
.amk-slide:nth-child(1) { background-color: #2ca5dd; }
.amk-slide:nth-child(2) { background-color: #2c5282; }
.amk-slide:nth-child(3) { background-color: #1e4d72; }

.amk-slide.active { opacity: 1; z-index: 2; }

.amk-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10,20,40,0.45) 0%,
    rgba(10,20,40,0.2) 60%,
    rgba(10,20,40,0.05) 100%
  );
}

.amk-slide-content {
  position: relative;
  z-index: 3;
  text-align: center;
  color: #fff !important;
  padding: 20px;
  max-width: 800px;
  animation: amkSlideUp 0.8s ease both;
}

@keyframes amkSlideUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}

/* 슬라이드 1 좌측 정렬 레이아웃 */
.amk-slide-content--left {
  text-align: left;
  max-width: none;
  width: 100%;
  position: absolute;
  left: 0;
  top: 34%;
  transform: translateY(-50%);
  padding-left: 14%;
  padding-right: 40%;
  white-space: nowrap;
}

/* 슬라이드 3 우측 정렬 레이아웃 */
.amk-slide-content--right {
  text-align: right;
  max-width: none;
  width: 100%;
  position: absolute;
  right: 0;
  top: 34%;
  transform: translateY(-50%);
  padding-right: 14%;
  padding-left: 40%;
  white-space: nowrap;
}

.amk-slide-pretitle {
  display: block;
  font-size: clamp(1.5rem, 3vw, 1.8rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.3);
  opacity: 0.95;
  white-space: nowrap;
}

.amk-slide-title {
  font-size: clamp(1.6rem, 4.5vw, 3rem);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 18px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

.amk-slide-accent {
  font-size: 1.45em;
  display: block;
  line-height: 0.8;
  margin-bottom: -0.25em;
}

.amk-slide-title--hero {
  font-size: clamp(2.65rem, 6.5vw, 4.45rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 22px;
  text-shadow: 0 3px 16px rgba(0,0,0,0.45);
  white-space: nowrap;
}

.amk-slide-sub {
  font-size: clamp(1.08rem, 2.2vw, 1.28rem);
  opacity: 0.9;
  margin-bottom: 30px;
  text-shadow: 0 1px 6px rgba(0,0,0,0.3);
  line-height: 1.7;
  white-space: nowrap;
}

.amk-slide-btn {
  display: inline-block;
  background: transparent;
  color: #fff !important;
  padding: 13px 32px;
  border: 2px solid #fff;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  transition: background var(--amk-transition), color var(--amk-transition), transform var(--amk-transition), box-shadow var(--amk-transition);
  box-shadow: none;
}

.amk-slide-btn:hover {
  background: #fff;
  color: #000 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(255,255,255,0.3);
}

/* 슬라이더 prev/next 버튼 */
.amk-slide-prev,
.amk-slide-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255,255,255,0.15);
  border: 1.5px solid rgba(255,255,255,0.3);
  color: #fff !important;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--amk-transition), transform var(--amk-transition);
  backdrop-filter: blur(4px);
}

.amk-slide-prev { left: 18px; }
.amk-slide-next { right: 18px; }

.amk-slide-prev:hover,
.amk-slide-next:hover {
  background: rgba(255,255,255,0.32);
  transform: translateY(-50%) scale(1.08);
}

/* ── 유튜브 슬라이드 ── */
.amk-slide-youtube {
  background-size: cover;
  background-position: center;
}

/* 비활성 유튜브 슬라이드: iframe 완전 숨김 (동영상 더보기 방지) */
.amk-slide-youtube:not(.active) .amk-yt-wrap {
  visibility: hidden;
  opacity: 0;
}

.amk-yt-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* 유튜브 iframe: 전체 화면 커버 (16:9 비율 유지) */
.amk-yt-wrap iframe,
.amk-yt-wrap #amkYtPlayer {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw; /* 16:9 */
  min-width: 177.78vh; /* 높이 기준 너비 */
  min-height: 100vh;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* 유튜브 "동영상 더보기" 추천 화면 차단용 상단 레이어 */
.amk-yt-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
}

/* 유튜브 슬라이드 오버레이 (투명도 낮춤 → 영상 잘 보이게) */
.amk-yt-overlay {
  background: linear-gradient(
    135deg,
    rgba(10,20,40,0.50) 0%,
    rgba(10,20,40,0.20) 60%,
    rgba(10,20,40,0.10) 100%
  ) !important;
  z-index: 2;
}

.amk-slide-youtube .amk-slide-content {
  z-index: 5;
}

/* 슬라이더 다음 섹션이 유튜브 위에 오도록 */
.amk-slider + .amk-section,
.amk-slider + script + .amk-section {
  position: relative;
  z-index: 3;
}

/* 닷 인디케이터 */
.amk-slide-dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 9px;
}

.amk-dot {
  width: 28px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,0.4);
  border: none;
  cursor: pointer;
  transition: background var(--amk-transition), width var(--amk-transition);
  padding: 0;
}

.amk-dot.active {
  background: var(--amk-accent);
  width: 44px;
}

/* =============================================
   6. 프로그램 카드 섹션
   ============================================= */
.amk-feature {
  background: var(--amk-bg-gray);
}

.amk-feature > .amk-container {
  max-width: 1400px;
}

.amk-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.amk-card {
  background: #fff;
  border-radius: var(--amk-radius);
  overflow: hidden;
  box-shadow: var(--amk-shadow);
  transition: transform var(--amk-transition), box-shadow var(--amk-transition);
}

.amk-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.15);
}

.amk-card-img {
  width: 100%;
  height: 220px;
  background-size: cover;
  background-position: center;
  background-color: #d1dce8;
  position: relative;
  overflow: hidden;
}

.amk-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.2), transparent 60%);
}

.amk-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--amk-accent);
  color: #fff !important;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  z-index: 2;
  letter-spacing: 0.05em;
}

.amk-card-body {
  padding: 22px 24px 24px;
}

.amk-card-title {font-family: var(--amk-font-title) !important;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--amk-primary);
  margin-bottom: 10px;
}

.amk-card-desc {
  font-size: 1rem;
  color: var(--amk-text-sub);
  line-height: 1.7;
  margin-bottom: 18px;
}

.amk-card-link {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--amk-primary-lt);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap var(--amk-transition), color var(--amk-transition);
}

.amk-card-link:hover {
  gap: 8px;
  color: var(--amk-accent);
}

.amk-card-btn {
  display: inline-block;
  padding: 10px 24px;
  font-size: 0.88rem;
  font-weight: 400;
  color: #333 !important;
  background: transparent;
  border: 1.5px solid #333;
  border-radius: 0;
  transition: all var(--amk-transition);
}

.amk-card-btn:hover {
  background: #00aeef;
  border-color: #00aeef;
  color: #fff !important;
}

/* =============================================
   7. 중간 배너 섹션
   ============================================= */
.amk-banner {
  position: relative;
  padding: 100px 0;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-color: var(--amk-primary);
  text-align: center;
  overflow: hidden;
}

.amk-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10,20,50,0.16), rgba(26,58,92,0.13));
}

.amk-banner-content {
  position: relative;
  z-index: 2;
  color: #fff !important;
}

.amk-banner-title {font-family: var(--amk-font-title) !important;
  font-size: clamp(1.5rem, 3.4vw, 2.5rem);
  font-weight: 500;
  margin-bottom: 22px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.3);
  letter-spacing: -0.01em;
  text-shadow: #000 1px 1px 10px;	
}

.amk-banner-title .amk-highlight {
  font-size: clamp(1.95rem, 4.3vw, 2.95rem);
  font-weight: 800;
}

.amk-banner-sub {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  opacity: 0.88;
  margin-bottom: 36px;
  line-height: 1.9;
  text-shadow: #000 1px 1px 10px;	
}

.amk-banner-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #fff;
  color: #fff !important;
  padding: 10px 58px;
  border-radius: 50px;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.04em;
  transition: background var(--amk-transition), color var(--amk-transition);
}

.amk-banner-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.amk-banner-btn:hover {
  background: #fff;
  color: #222222 !important;
}

/* =============================================
   7-1. 후원안내 섹션
   ============================================= */
.amk-huwon {
  position: relative;
  padding: 100px 0;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-color: #2ca5dd;
  overflow: hidden;
}

.amk-huwon-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10,20,50,0.16), rgba(26,58,92,0.14));
}

.amk-huwon-inner {
  position: relative;
  z-index: 2;
}

.amk-huwon-header {
  margin-bottom: 50px;
}

.amk-huwon-title {
  font-family: var(--amk-font-title) !important;
  font-size: 2.82rem;
  font-weight: 500;
  color: #fff !important;
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 14px;
}

.amk-huwon-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--amk-accent);
  margin: 10px auto 0;
  border-radius: 2px;
}

.amk-huwon-sub {
  font-size: 1rem;
  color: rgba(255,255,255,0.8);
}

.amk-huwon-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.amk-huwon-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  padding: 40px 24px 32px;
  color: #fff !important;
  transition: transform var(--amk-transition), background var(--amk-transition), box-shadow var(--amk-transition);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.amk-huwon-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 16px 16px 0 0;
  transition: height var(--amk-transition);
}

.amk-huwon-card--blue::before  { background: #3b82f6; }
.amk-huwon-card--green::before { background: #10b981; }
.amk-huwon-card--purple::before{ background: #8b5cf6; }
.amk-huwon-card--amber::before { background: #f59e0b; }

.amk-huwon-card:hover {
  transform: translateY(-8px);
  background: rgba(255,255,255,0.15);
  box-shadow: 0 16px 40px rgba(0,0,0,0.3);
  color: #fff !important;
}

.amk-huwon-card:hover::before {
  height: 6px;
}

.amk-huwon-icon {
  width: 72px;
  height: 72px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  transition: background var(--amk-transition), transform var(--amk-transition);
}

.amk-huwon-card:hover .amk-huwon-icon {
  background: rgba(255,255,255,0.2);
  transform: scale(1.08);
}

.amk-huwon-icon svg {
  width: 36px;
  height: 36px;
  color: #fff !important;
}

.amk-huwon-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 6px 15px 3px;
  border-radius: 20px;
  margin-bottom: 14px;
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
}

.amk-huwon-card--blue  .amk-huwon-badge { background: rgba(59,130,246,0.3); }
.amk-huwon-card--green .amk-huwon-badge { background: rgba(16,185,129,0.3); }
.amk-huwon-card--purple .amk-huwon-badge{ background: rgba(139,92,246,0.3); }
.amk-huwon-card--amber .amk-huwon-badge { background: rgba(245,158,11,0.3); }

.amk-huwon-card-title {font-family: var(--amk-font-title) !important;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 12px;
  color: #fff !important;
}

.amk-huwon-card-desc {
  font-size: 0.92rem;
  line-height: 1.85;
  color: rgba(255,255,255,0.88);
  margin-bottom: 20px;
  flex: 1;
  letter-spacing: 0.01em;
  word-break: keep-all;
}

.amk-huwon-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  max-width:100%;
  padding: 5px 20px 3px;
  border-radius: 50px;
  background: rgba(255,255,255,0.15);
  font-size: 0.9rem;
  font-weight: 500;
  color: rgba(255,255,255,0.9);
  letter-spacing: 0.03em;
  transition: background var(--amk-transition), transform var(--amk-transition), color var(--amk-transition);
  white-space: nowrap;
  margin-top: auto;
}

.amk-huwon-card:hover .amk-huwon-arrow {
  background: #f57f1f;
  color: #fff !important;
  transform: none;
}

/* =============================================
   8. 공지사항 + 갤러리 섹션
   ============================================= */
.amk-board-section {
  padding: 70px 0;
  background: #fff;
}

.amk-board-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}

.amk-board-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--amk-primary);
}

.amk-board-title {
  font-family: var(--amk-font-title) !important;
  font-size: 2.82rem;
  font-weight: 500 !important;
  color: var(--amk-primary);
}

.amk-board-more {
  font-size: 0.82rem;
  color: var(--amk-text-sub);
  font-weight: 500;
  transition: color var(--amk-transition);
}

.amk-board-more:hover { color: var(--amk-accent); }

.amk-board-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 4px;
  border-bottom: 1px solid var(--amk-border);
  font-size: 0.9rem;
  transition: color var(--amk-transition), padding var(--amk-transition);
  word-break: keep-all;
}

.amk-board-list li a:hover {
  color: var(--amk-primary-lt);
  padding-left: 8px;
}

.amk-list-title {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-right: 12px;
}

.amk-list-date {
  font-size: 0.78rem;
  color: var(--amk-text-sub);
  white-space: nowrap;
  flex-shrink: 0;
}

.amk-board-empty {
  padding: 20px 0;
  text-align: center;
  color: var(--amk-text-sub);
  font-size: 0.88rem;
}

/* 갤러리 그리드 */
.amk-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.amk-gallery-item {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 4px;
  background: var(--amk-bg-gray);
}

.amk-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.amk-gallery-item:hover img {
  transform: scale(1.08);
}

/* =============================================
   8-1. CONTACT FORM BAR (푸터 위 문의폼)
   ============================================= */
.amk-contact-bar {
  background: #3a3a3a;
  padding: 28px 0;
  overflow: hidden;
  width: 100%;
}

.amk-contact-bar-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.amk-contact-form {
  display: flex;
  gap: 12px;
  align-items: stretch;
  flex-wrap: wrap;
}

.amk-contact-field {
  display: flex;
  align-items: center;
  background: #555;
  border-radius: 30px;
  padding: 0 16px;
  height: 46px;
  flex: 1;
  min-width: 180px;
}

.amk-contact-field-msg {
  flex: 2.5;
  min-width: 260px;
}

.amk-contact-label {
  color: #fff !important;
  font-size: 0.85rem;
  font-weight: 600;
  white-space: nowrap;
  margin-right: 10px;
}

.amk-contact-input {
  background: transparent;
  border: none;
  outline: none;
  color: #ccc;
  font-size: 0.85rem;
  width: 100%;
  font-family: inherit;
}

.amk-contact-input::placeholder {
  color: #999;
}

.amk-contact-submit {
  background: #e8a838;
  color: #fff !important;
  border: none;
  border-radius: 30px;
  padding: 0 36px;
  height: 46px;
  font-size: 0.95rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.25s;
}

.amk-contact-submit:hover {
  background: #d4952e;
}

.amk-contact-agree {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 14px;
}

.amk-contact-agree-label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #ccc;
  font-size: 0.82rem;
  cursor: pointer;
}

.amk-contact-agree-label input[type="checkbox"] {
  width: 15px;
  height: 15px;
  cursor: pointer;
}

.amk-contact-agree-link {
  color: #aaa !important;
  font-size: 0.82rem;
  text-decoration: underline;
  transition: color 0.2s;
}

.amk-contact-agree-link:hover {
  color: #fff !important;
}

/* =============================================
   9. FOOTER
   ============================================= */
.amk-footer {
  background: #2b2b2b;
  color: #999;
  padding: 40px 0 32px;
  overflow: hidden;
  width: 100%;
}

.amk-footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

.amk-footer-left {
  flex: 1;
  text-align: left;
}

.amk-footer-nav {
  margin-bottom: 18px;
  display: flex;
  gap: 20px;
}

.amk-footer-nav a {
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none;
  transition: color var(--amk-transition);
}

.amk-footer-nav a:hover { color: #fff !important; }

.amk-footer-sep {
  color: rgba(255,255,255,0.25);
  margin: 0 10px;
}

.amk-footer-info {
  font-size: 0.8rem;
  line-height: 2;
  color: #888;
  margin-bottom: 14px;
}

.amk-footer-info span {
  margin-right: 16px;
}

.amk-footer-company {
  display: inline;
  font-size: 0.82rem;
  font-weight: 700;
  color: #bbb;
  margin-right: 16px;
}

.amk-footer-info a {
  color: #aaa !important;
  text-decoration: underline;
}
.amk-footer-info a:hover { color: #fff !important; }

.amk-footer-copy {
  font-size: 0.78rem;
  color: #666;
  margin: 0;
}

/* 상담문의 박스 */
.amk-footer-right {
  flex-shrink: 0;
}

.amk-footer-consult {
  border: 1px solid #555;
  border-radius: 6px;
  padding: 20px 30px;
  text-align: left;
  min-width: 260px;
}

.amk-footer-consult-title {
  font-size: 1rem;
  font-weight: 700;
  color: #fff !important;
  margin-bottom: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid #555;
}

.amk-footer-consult-phone {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff !important;
  margin: 10px 0 8px;
  letter-spacing: -0.5px;
}

.amk-footer-consult-phone a {
  color: #fff !important;
  text-decoration: none;
}

.amk-footer-consult-hours {
  font-size: 0.78rem;
  color: #999;
  line-height: 1.7;
}

/* =============================================
   9-1. 퀵메뉴 (우측 하단 고정)
   ============================================= */
.amk-quick-menu {
  position: fixed;
  bottom: 84px;
  right: 24px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.amk-quick-item {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.amk-quick-item a {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  height: 48px;
  border-radius: 24px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  transition: width 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow var(--amk-transition);
  width: 48px;
}

.amk-quick-item a:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.28);
}

.amk-quick-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-width: 48px;
  height: 48px;
  flex-shrink: 0;
  color: #fff !important;
}

.amk-quick-label {
  white-space: nowrap;
  font-size: 0.85rem;
  font-weight: 600;
  padding-left: 16px;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.amk-quick-item a:hover .amk-quick-label {
  opacity: 1;
}

/* 카카오톡 */
.amk-quick-kakao a {
  background: #FEE500;
  color: #3C1E1E;
}

.amk-quick-kakao .amk-quick-icon {
  color: #3C1E1E;
}

.amk-quick-kakao .amk-quick-label {
  color: #3C1E1E;
}

.amk-quick-kakao a:hover {
  width: 230px;
}

/* 문의하기 */
.amk-quick-inquiry a {
  background: #6B4226;
}

.amk-quick-inquiry .amk-quick-label {
  color: #fff !important;
}

.amk-quick-inquiry a:hover {
  width: 160px;
}

/* 전화 */
.amk-quick-phone a {
  background: #c0392b;
}

.amk-quick-phone .amk-quick-label {
  color: #fff !important;
}

.amk-quick-phone a:hover {
  width: 160px;
}

/* TOP 버튼 (퀵메뉴 하단) */
.amk-quick-top a {
  background: #fff;
  border: 1px solid #ccc;
  flex-direction: column;
  justify-content: center;
}

.amk-quick-top .amk-quick-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #555;
  gap: 0px;
}

.amk-quick-top .amk-quick-icon svg {
  width: 16px;
  height: 16px;
}

.amk-quick-top-text {
  font-size: 0.65rem;
  font-weight: 700;
  color: #555;
  line-height: 1;
  letter-spacing: 0.5px;
}

.amk-quick-top a:hover {
  background: #222;
  border-color: #222;
  width: 48px;
}

.amk-quick-top a:hover .amk-quick-icon {
  color: #fff !important;
}

.amk-quick-top a:hover .amk-quick-top-text {
  color: #fff !important;
}

/* 모바일 퀵메뉴 */
@media (max-width: 768px) {
  .amk-quick-menu {
    bottom: 72px;
    right: 16px;
    gap: 8px;
  }

  .amk-quick-item a {
    width: 42px;
    height: 42px;
    border-radius: 21px;
  }

  .amk-quick-icon {
    width: 42px;
    min-width: 42px;
    height: 42px;
  }

  .amk-quick-icon svg {
    width: 18px;
    height: 18px;
  }

  .amk-quick-label {
    display: none;
  }

  .amk-quick-item a:hover {
    width: 42px;
  }

  .amk-quick-top a,
  .amk-quick-top a:hover {
    width: 42px;
    height: 42px;
    border-radius: 21px;
  }

  .amk-quick-top .amk-quick-icon svg {
    width: 12px;
    height: 12px;
  }

  .amk-quick-top-text {
    font-size: 0.6rem;
  }
}

/* =============================================
   8-1-R. CONTACT BAR 반응형
   ============================================= */
@media (max-width: 768px) {
  .amk-contact-form {
    flex-direction: column;
    gap: 10px;
  }

  .amk-contact-field {
    min-width: 100%;
    height: 42px;
  }

  .amk-contact-submit {
    width: 100%;
    height: 44px;
  }
}

/* =============================================
   9-R. FOOTER 반응형
   ============================================= */
@media (max-width: 768px) {
  .amk-footer-inner {
    flex-direction: column;
    gap: 24px;
  }

  .amk-footer-left {
    text-align: left;
  }

  .amk-footer-nav {
    flex-wrap: wrap;
    gap: 12px;
  }

  .amk-footer-info span {
    display: block;
    margin: 0;
  }

  .amk-footer-right {
    width: 100%;
  }

  .amk-footer-consult {
    min-width: auto;
  }
}

.amk-top-btn:hover { background: var(--amk-accent); }

/* =============================================
   10.5. 서브페이지 히어로 + 네비게이션 바
   ============================================= */

/* --- 히어로 배너 --- */
.amk-sub-hero {
  width: 100%;
  height: 300px;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: calc(var(--amk-topbar-h) + var(--amk-header-h));
}

.amk-sub-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}

.amk-sub-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.amk-sub-hero-title {
  font-family: var(--amk-font-title) !important;
  color: #fff !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight:400;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  letter-spacing: 0.02em;
}

/* --- 네비게이션 바 --- */
.amk-sub-nav {
  width: 100%;
  background: var(--amk-bg-gray);
  border-bottom: 1px solid var(--amk-border);
  position: relative;
  z-index: 10;
}

.amk-sub-nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 52px;
}

.amk-sub-nav-left {
  display: flex;
  align-items: center;
  gap: 0;
  height: 100%;
}

.amk-sub-nav-home {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  height: 100%;
  border-right: 1px solid var(--amk-border);
  color: var(--amk-text-sub);
  transition: color var(--amk-transition);
}

.amk-sub-nav-home:hover {
  color: var(--amk-accent);
}

/* --- 드롭다운 --- */
.amk-sub-nav-dropdown {
  position: relative;
  border-right: 1px solid var(--amk-border);
  height: 100%;
}

.amk-sub-nav-drop-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  padding: 0 18px;
  height: 100%;
  font-size: 0.92rem;
  font-weight: 500;
  cursor: pointer;
  font-family: var(--amk-font-base) !important;
  color: var(--amk-text);
  transition: color var(--amk-transition);
  white-space: nowrap;
}

.amk-sub-nav-drop-btn:hover {
  color: var(--amk-accent);
}

.amk-sub-nav-drop-btn svg {
  transition: transform var(--amk-transition);
}

.amk-sub-nav-dropdown.open .amk-sub-nav-drop-btn svg {
  transform: rotate(180deg);
}

.amk-sub-nav-drop-list {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  box-shadow: var(--amk-shadow);
  z-index: 100;
  padding: 8px 0;
  list-style: none;
  margin: 0;
}

.amk-sub-nav-dropdown.open .amk-sub-nav-drop-list {
  display: block;
}

.amk-sub-nav-drop-list li a {
  display: block;
  padding: 9px 20px;
  font-size: 0.88rem;
  color: var(--amk-text-sub);
  transition: background var(--amk-transition), color var(--amk-transition);
  text-decoration: none;
  white-space: nowrap;
}

.amk-sub-nav-drop-list li a:hover {
  background: var(--amk-bg-gray);
  color: var(--amk-accent);
}

.amk-sub-nav-drop-list li.active a {
  color: var(--amk-accent);
  font-weight: 600;
}

/* --- 브레드크럼 --- */
.amk-sub-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--amk-text-sub);
}

.amk-sub-breadcrumb-home {
  display: flex;
  align-items: center;
  color: var(--amk-text-sub);
  transition: color var(--amk-transition);
}

.amk-sub-breadcrumb-home:hover {
  color: var(--amk-accent);
}

.amk-sub-breadcrumb-sep {
  color: #ccc;
  font-size: 0.75rem;
}

.amk-sub-breadcrumb-current {
  color: var(--amk-text);
  font-weight: 500;
}

/* --- 게시판/콘텐츠 타이틀 영역 --- */
.amk-board-title-wrap {
  width: 100%;
  padding: 48px 0 36px;
  margin-bottom: -100px;
  position: relative;
  z-index: 0;
}


.amk-board-title-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}

.amk-board-title {
  font-family: var(--amk-font-title) !important;
  font-size: 2.7rem;
  font-weight: 600 !important;
  color: var(--amk-text);
  margin: 0 0 12px;
  line-height: 1.3;
}

.amk-board-desc {
  font-size: 0.95rem;
  color: var(--amk-text-sub);
  margin: 20px 0;
  line-height: 1.5;
}

/* =============================================
   11. 그누보드 기본 요소 스타일 통합 (충돌 방지)
   ============================================= */
/* 게시판 wrapper */
#amk-wrap .g5_content,
#amk-wrap #bo_list,
#amk-wrap #bo_v,
#amk-wrap #bo_w,
#amk-wrap #ctt {
  max-width: 1400px !important;
  margin: calc(var(--amk-topbar-h) + var(--amk-header-h) + 30px) auto 60px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 20px;
  box-sizing: border-box;
}

/* 서브페이지 히어로 있을 때 오버라이드 */
body.amk-sub-page #amk-wrap .g5_content,
body.amk-sub-page #amk-wrap #bo_list,
body.amk-sub-page #amk-wrap #bo_v,
body.amk-sub-page #amk-wrap #bo_w,
body.amk-sub-page #amk-wrap #ctt {
  margin-top: 40px;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 20px;
}

body.amk-sub-page #amk-wrap > *:not(.amk-sub-hero):not(.amk-sub-nav):not(.amk-board-title-wrap) {
  padding-top: 0;
}

/* 서브페이지 본문과 푸터 사이 간격 */
body.amk-sub-page #amk-wrap {
  padding-bottom: 80px;
}

/* --- 회원 페이지 (회원가입, 로그인 등) 컨테이너 --- */
body.amk-sub-page #amk-wrap .register,
body.amk-sub-page #amk-wrap .mbskin,
body.amk-sub-page #amk-wrap #mb_login {
  max-width: 1400px;
  margin: 40px auto 60px;
  padding: 0 20px;
  box-sizing: border-box;
}

/* 회원가입 sound_only 텍스트 보이게 오버라이드 */
body.amk-sub-page #amk-wrap .register .fregister_agree label b.sound_only {
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  font-size: inherit !important;
  line-height: inherit !important;
  overflow: visible !important;
  font-weight: normal;
}

/* --- 공통 폼 요소 --- */
#amk-wrap .frm_input {
  display: block;
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  font-size: 0.92rem;
  font-family: inherit;
  color: var(--amk-text);
  background: #fff;
  box-sizing: border-box;
  transition: border-color var(--amk-transition);
}

#amk-wrap .frm_input:focus {
  border-color: var(--amk-primary-lt);
  outline: none;
}

#amk-wrap .half_input {
  width: 49%;
  display: inline-block;
}

#amk-wrap .full_input {
  width: 100%;
}

#amk-wrap select {
  height: 42px;
  padding: 0 12px;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  font-size: 0.92rem;
  font-family: inherit;
  background: #fff;
  box-sizing: border-box;
}

#amk-wrap textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  font-size: 0.92rem;
  font-family: inherit;
  box-sizing: border-box;
  resize: vertical;
}

/* --- 버튼 공통 --- */
#amk-wrap .btn {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  font-size: 0.88rem;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  background: #fff;
  color: var(--amk-text);
  transition: all var(--amk-transition);
  box-sizing: border-box;
  line-height: 1.5;
}

#amk-wrap .btn:hover {
  border-color: var(--amk-primary-lt);
  color: var(--amk-primary-lt);
}

#amk-wrap .btn_submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 36px;
  background: var(--amk-primary);
  color: #fff !important;
  border: none;
  border-radius: var(--amk-radius);
  font-size: 1rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: background var(--amk-transition);
}

#amk-wrap .btn_submit:hover {
  background: var(--amk-primary-lt);
}

#amk-wrap .btn_cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 36px;
  background: #fff;
  color: var(--amk-text-sub);
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  font-size: 1rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  margin-right: 10px;
}

#amk-wrap .btn_cancel:hover {
  background: #e5e5e5;
}
/* 단축키 일람 숨김 */
.cke_sc { display: none !important; }

/* --- 게시판 목록 테이블 --- */
#amk-wrap .tbl_head01 {
  overflow-x: auto;
}

#amk-wrap .tbl_head01 table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

#amk-wrap .tbl_head01 thead th {
  padding: 12px 8px;
  background: var(--amk-bg-gray);
  border-bottom: 2px solid var(--amk-primary);
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--amk-text);
  white-space: nowrap;
}

#amk-wrap .tbl_head01 tbody td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--amk-border);
  vertical-align: middle;
  color: var(--amk-text-sub);
}

#amk-wrap .tbl_head01 tbody tr:hover td {
  background: rgba(37, 99, 168, 0.03);
}

/* 글쓴이 숨김 + 날짜 넓이 */
#amk-wrap #bo_list .td_name,
#amk-wrap .tbl_head01 .td_name,
#amk-wrap .tbl_head01 td.td_name { display: none !important; }
#amk-wrap #bo_list .td_datetime { white-space: nowrap; min-width: 80px; }

#amk-wrap #bo_list .bo_tit a {
  color: var(--amk-text);
  text-decoration: none;
  font-weight: 500;
}

#amk-wrap #bo_list .bo_tit a:hover {
  color: var(--amk-primary-lt);
}

/* --- 게시판 상단 버튼 --- */
#amk-wrap #bo_btn_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 12px;
}

#amk-wrap .btn_bo_user {
  display: flex;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#amk-wrap .btn_bo_user li {
  margin: 0;
  width: auto;
}

#amk-wrap .btn_bo_user .btn_b01 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  background: #fff;
  color: var(--amk-text-sub);
  font-size: 0.88rem;
  transition: all var(--amk-transition);
}

#amk-wrap .btn_bo_user .btn_b01:hover {
  border-color: var(--amk-primary-lt);
  color: var(--amk-primary-lt);
}

#amk-wrap .btn_bo_user .btn_admin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  background: #fff;
  color: var(--amk-text-sub);
  font-size: 0.88rem;
  transition: all var(--amk-transition);
}

#amk-wrap .btn_bo_user .btn_admin:hover {
  border-color: var(--amk-accent);
  color: var(--amk-accent);
}

/* 관리자 더보기 옵션 */
#amk-wrap .more_opt {
  position: absolute;
  top: 42px;
  right: 0;
  background: #fff;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  box-shadow: var(--amk-shadow);
  z-index: 999;
  min-width: 120px;
}

#amk-wrap .more_opt li {
  float: none;
  width: auto;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid var(--amk-border);
}

#amk-wrap .more_opt li:last-child {
  border-bottom: none;
}

#amk-wrap .more_opt li button,
#amk-wrap .more_opt li a {
  display: block;
  width: 100%;
  padding: 10px 16px;
  border: none;
  background: #fff;
  color: var(--amk-text-sub);
  font-size: 0.85rem;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}

#amk-wrap .more_opt li button:hover,
#amk-wrap .more_opt li a:hover {
  background: var(--amk-bg-gray);
  color: var(--amk-accent);
}

/* --- 카테고리 탭 (샘플 스타일) --- */
#amk-wrap #bo_cate {
  margin: 0 0 24px;
  border-bottom: 1px solid #333;
}

#amk-wrap #bo_cate h2 {
  position: absolute;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

#amk-wrap #bo_cate_ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

#amk-wrap #bo_cate_ul li {
  display: block;
  padding: 0;
  margin: 0;
}

#amk-wrap #bo_cate_ul a {
  display: block;
  padding: 8px 28px 5px;
  font-size: 0.92rem;
  color: var(--amk-text-sub);
  text-decoration: none;
  border: 1px solid var(--amk-border);
  border-bottom: none;
  background: #f7f8fa;
  transition: all var(--amk-transition);
  white-space: nowrap;
  margin-right: -1px;
}

#amk-wrap #bo_cate_ul a:hover {
  color: var(--amk-text);
  background: #eef0f3;
}

#amk-wrap #bo_cate_ul #bo_cate_on {
  background: #333;
  color: #fff !important;
  font-weight: 600;
  border-color: #333;
  box-shadow: none;
}

/* --- 게시판 상단 버튼 오른쪽 정렬 --- */
#amk-wrap #bo_btn_top .btn_bo_user {
  margin-left: auto;
}

/* --- 게시판 하단 --- */
#amk-wrap .bo_fx {
  display: flex;
  justify-content: flex-end;
  margin: 16px 0;
  float: none;
}

/* --- 페이지네이션 --- */
#amk-wrap .pg_wrap {
  text-align: center;
  margin: 24px 0;
}

#amk-wrap .pg_wrap a,
#amk-wrap .pg_wrap strong {
  display: inline-block;
  min-width: 34px;
  height: 34px;
  line-height: 34px;
  padding: 0 8px;
  margin: 0 2px;
  border-radius: var(--amk-radius);
  font-size: 0.85rem;
  text-decoration: none;
  text-align: center;
}

#amk-wrap .pg_wrap a {
  color: var(--amk-text-sub);
  border: 1px solid var(--amk-border);
  background: #fff;
}

#amk-wrap .pg_wrap a:hover {
  border-color: var(--amk-primary-lt);
  color: var(--amk-primary-lt);
}

#amk-wrap .pg_wrap .pg_current,
#amk-wrap .pg_wrap strong {
  background: var(--amk-primary);
  color: #fff !important;
  border: 1px solid var(--amk-primary);
  font-weight: 600;
}

/* 페이지네이션 prev/next 아이콘 */
.pg_start, .pg_prev, .pg_next, .pg_end {
  text-indent: 0 !important;
  overflow: visible !important;
  background-image: none !important;
  font-size: 0 !important;
}
.pg_start::before { content: '\ab'; font-size: 14px !important; text-indent: 0 !important; display: inline !important; }
.pg_prev::before { content: '\2039'; font-size: 14px !important; text-indent: 0 !important; display: inline !important; }
.pg_next::before { content: '\203a'; font-size: 14px !important; text-indent: 0 !important; display: inline !important; }
.pg_end::before { content: '\bb'; font-size: 14px !important; text-indent: 0 !important; display: inline !important; }

/* --- 개인정보처리방침 & 이용약관 --- */
.ctt_privacy #ctt_con,
.ctt_terms #ctt_con { font-size: 1.0rem !important; }
.ctt_privacy #ctt_con span,
.ctt_privacy #ctt_con p,
.ctt_privacy #ctt_con td,
.ctt_privacy #ctt_con th,
.ctt_terms #ctt_con span,
.ctt_terms #ctt_con p,
.ctt_terms #ctt_con td,
.ctt_terms #ctt_con th { font-size: 1.0rem !important; }
.ctt_privacy #ctt_con b,
.ctt_privacy #ctt_con strong,
.ctt_terms #ctt_con b,
.ctt_terms #ctt_con strong { font-weight: 500 !important; }

/* --- 회원가입 페이지 --- */
.register { margin: 0 auto; max-width: 1400px; padding: 0 20px; }
.amk-reg-notice { text-align: center; color: #c33; background: #fef2f2; padding: 14px 20px; border-radius: 8px; border: 1px solid #fecaca; font-size: 1rem; margin: 0 0 20px; }
.amk-reg-allchk { text-align: right; padding: 10px 0; margin-bottom: 8px; font-weight: 600; font-size: 0.95rem; }
.amk-reg-allchk label { cursor: pointer; margin-right: 6px; }
.amk-reg-allchk input[type="checkbox"] { width: 18px; height: 18px; vertical-align: middle; cursor: pointer; accent-color: #2ca5dd; }
.amk-reg-section { margin-bottom: 16px; border: 1px solid #dde7e9; border-radius: 8px; overflow: hidden; }
.amk-reg-section-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; background: #f8f9fa; }
.amk-reg-section-header h2 { margin: 0; font-size: 1.05rem; font-weight: 700; }
.amk-reg-agree-right { font-size: 0.92rem; color: #555; }
.amk-reg-agree-right label { cursor: pointer; margin-right: 6px; }
.amk-reg-agree-right input[type="checkbox"] { width: 18px; height: 18px; vertical-align: middle; cursor: pointer; accent-color: #2ca5dd; }
.register textarea { display: block; width: 100%; height: 150px; padding: 20px; border: 0; border-top: 1px solid #dde7e9; box-sizing: border-box; line-height: 1.6; font-size: 0.92rem; }
.amk-reg-table-wrap { padding: 20px; border-top: 1px solid #dde7e9; }
.amk-reg-table-wrap table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.amk-reg-table-wrap caption { position: absolute; font-size: 0; overflow: hidden; }
.amk-reg-table-wrap th { background: #4a5568; color: #fff !important; padding: 12px 16px; border: 1px solid #4a5568; font-weight: 500; text-align: left; }
.amk-reg-table-wrap td { border: 1px solid #e7e9ec; padding: 12px 16px; text-align: left; vertical-align: middle; }
.amk-reg-btn { text-align: center; padding: 30px 0 20px; }
.amk-reg-submit { display: inline-flex; align-items: center; justify-content: center; height: 48px; min-width: 200px; padding: 0 50px; font-weight: 500; font-size: 1.1rem; border-radius: 6px; background: #2ca5dd; color: #fff !important; border: 1px solid #2ca5dd; cursor: pointer; }
.amk-reg-submit:hover { background: #1a8bc7; }

/* 회원가입 완료 */
#reg_result { max-width: 1400px; margin: 0 auto; padding: 80px 20px; text-align: center; }
#reg_result .btn_submit { display: inline-flex; align-items: center; justify-content: center; height: 48px; min-width: 200px; padding: 0 50px; font-weight: 500; font-size: 1.1rem; border-radius: 6px; background: #2ca5dd; color: #fff !important; border: 1px solid #2ca5dd; cursor: pointer; text-decoration: none; margin-top: 30px; }
#reg_result .btn_submit:hover { background: #1a8bc7; color: #fff !important; }
.btn_confirm_reg { text-align: center; padding: 0 0 60px; }
.btn_confirm_reg .reg_btn_submit { display: inline-flex; align-items: center; justify-content: center; height: 48px; min-width: 200px; padding: 0 50px; font-weight: 500; font-size: 1.1rem; border-radius: 6px; background: #2ca5dd; color: #fff !important; border: 1px solid #2ca5dd; cursor: pointer; text-decoration: none !important; }
.btn_confirm_reg .reg_btn_submit:hover { background: #1a8bc7; }

/* 회원가입 폼 */
#register_form { background: #fff; padding: 20px; margin-bottom: 20px; max-width: 1400px; margin-left: auto; margin-right: auto; }
#register_form .register_form_inner { margin: 0 0 50px; }
#register_form h2 { font-size: 1.2rem; font-weight: 600; margin: 0 0 20px; padding-bottom: 12px; border-bottom: 2px solid #dde7e9; }
#register_form ul { list-style: none; padding: 0; margin: 0; }
#register_form li { margin-bottom: 16px; }
#register_form label { display: block; font-size: 0.92rem; font-weight: 500; margin-bottom: 6px; color: #333; }
#register_form .frm_input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #dde7e9; border-radius: 4px; font-size: 0.95rem; box-sizing: border-box; }
#register_form .frm_input:focus { border-color: #2ca5dd; outline: none; }
#register_form textarea.frm_input { height: 80px; padding: 10px 12px; }
#register_form .half_input { display: inline-block; width: 49%; vertical-align: top; }
#register_form .margin_input { margin-right: 1%; }
#register_form .tooltip { display: none; font-size: 0.8rem; color: #999; }
#register_form .tooltip_icon { border: none; background: none; cursor: pointer; color: #999; }
#register_form .tooltip_icon:hover + .tooltip { display: inline; }
/* CAPTCHA 스타일 강제 복원 */
#captcha { display: inline-block !important; position: relative !important; }
#captcha legend { position: absolute !important; margin: 0 !important; padding: 0 !important; font-size: 0 !important; line-height: 0 !important; text-indent: -9999em !important; overflow: hidden !important; width: 1px !important; height: 1px !important; }
#captcha #captcha_img { height: 40px !important; border: 1px solid #898989 !important; vertical-align: top !important; padding: 0 !important; margin: 0 !important; display: inline-block !important; }
#captcha #captcha_key { margin: 0 0 0 3px !important; padding: 0 5px !important; width: 90px !important; height: 40px !important; border: 1px solid #ccc !important; background: #fff !important; font-size: 1.333em !important; font-weight: bold !important; text-align: center !important; border-radius: 3px !important; vertical-align: top !important; display: inline-block !important; }
#captcha #captcha_mp3 { margin: 0 !important; padding: 0 !important; width: 40px !important; height: 40px !important; border: 0 !important; background: url('/img/captcha2.png') no-repeat !important; vertical-align: middle !important; overflow: hidden !important; cursor: pointer !important; text-indent: -999px !important; border-radius: 3px !important; display: inline-block !important; }
#captcha #captcha_reload { margin: 0 !important; padding: 0 !important; width: 40px !important; height: 40px !important; border: 0 !important; background: url('/img/captcha2.png') no-repeat 0 -40px !important; vertical-align: middle !important; overflow: hidden !important; cursor: pointer !important; text-indent: -999px !important; border-radius: 3px !important; display: inline-block !important; }
#captcha #captcha_info { display: block !important; margin: 5px 0 0 !important; font-size: 0.95em !important; }
#captcha #captcha_mp3 span, #captcha #captcha_reload span { display: none !important; }
#fregisterform .btn_confirm { text-align: center; padding: 30px 0 20px; }
#fregisterform .btn_confirm .btn_submit { display: inline-flex; align-items: center; justify-content: center; height: 48px; min-width: 160px; padding: 0 40px; font-weight: 500; font-size: 1.05rem; border-radius: 6px; background: #2ca5dd; color: #fff !important; border: 1px solid #2ca5dd; cursor: pointer; }
#fregisterform .btn_confirm .btn_submit:hover { background: #1a8bc7; }
#fregisterform .btn_confirm .btn_cancel { display: inline-flex; align-items: center; justify-content: center; height: 48px; min-width: 120px; padding: 0 30px; font-weight: 500; font-size: 1.05rem; border-radius: 6px; background: #fff; color: #666; border: 1px solid #ddd; cursor: pointer; margin-right: 10px; text-decoration: none; }
#fregisterform .btn_confirm .btn_cancel:hover { background: #f5f5f5; }
#fregisterform .frm_info { display: block; color: #3497d9; font-size: 0.88rem; margin-top: 4px; }
#fregisterform #msg_certify { margin: 5px 0 0; padding: 8px; border: 1px solid #dbecff; background: #eaf4ff; text-align: center; }
@media (max-width: 768px) {
    #register_form .half_input { display: block; width: 100%; margin-right: 0; }
}

/* --- 글쓰기 폼 --- */
#amk-wrap #bo_w {
  background: #fff;
}

#amk-wrap #bo_w form {
  width: 100% !important;
}

#amk-wrap #bo_w .write_div {
  margin: 8px 0;
}

#amk-wrap #bo_w .bo_w_info {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#amk-wrap #bo_w .bo_w_info .frm_input {
  flex: 1;
  min-width: 200px;
  margin: 0;
}

#amk-wrap #bo_w #wr_password,
#amk-wrap #bo_w #wr_homepage {
  margin-left: 0;
}

#amk-wrap #bo_w .bo_w_tit .frm_input {
  width: 100%;
  padding-right: 130px;
}

#amk-wrap #bo_w #btn_autosave {
  position: absolute;
  top: 5px;
  right: 5px;
  height: 32px;
  line-height: 32px;
  padding: 0 12px;
  font-size: 0.82rem;
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  background: #fff;
  cursor: pointer;
}

#amk-wrap #bo_w .bo_v_option {
  display: flex;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#amk-wrap #bo_w .bo_v_option li {
  float: none;
}

#amk-wrap #bo_w .wr_content {
  min-height: 300px;
}

#amk-wrap #bo_w .wr_content textarea {
  min-height: 300px;
}

#amk-wrap #bo_w .wr_content iframe {
  width: 100% !important;
  min-height: 400px;
}

#amk-wrap #bo_w .bo_w_link .frm_input {
  padding-left: 50px;
}

#amk-wrap #bo_w .bo_w_flie {
  padding: 6px 12px;
  background: var(--amk-bg-gray);
  border-radius: var(--amk-radius);
  margin: 2px 0;
}

#amk-wrap #bo_w .bo_w_flie .file_wr {
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  background: #fff;
  padding: 8px;
  height: auto;
}

#amk-wrap #bo_w .btn_confirm {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 30px 0;
  padding: 20px 0;
  border-top: 1px solid var(--amk-border);
}

/* --- 글보기 --- */
#amk-wrap #bo_v {
  background: #fff;
}

#amk-wrap #bo_v_title .bo_v_tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--amk-text);
  line-height: 1.4;
  margin: 0 0 16px;
  word-break: keep-all;
}

#amk-wrap #bo_v_info {
  padding: 16px 0;
  border-bottom: 1px solid var(--amk-border);
  font-size: 0.88rem;
}
#amk-wrap #bo_v_info .profile_info .pf_img,
#amk-wrap #bo_v_info .profile_info .profile_info_ct > strong:first-of-type {
  display: none !important;
}

#amk-wrap #bo_v_con {
  padding: 24px 0;
  line-height: 1.8;
  font-size: 0.95rem;
}

#amk-wrap #bo_v_con img {
  max-width: 100%;
  height: auto;
}

#amk-wrap .bo_v_com {
  display: flex;
  gap: 6px;
  list-style: none;
  margin: 20px 0;
  padding: 0;
  float: none;
  justify-content: flex-end;
}

#amk-wrap .bo_v_com > li {
  float: none;
}

#amk-wrap .bo_v_nb {
  margin: 20px 0;
}

#amk-wrap .bo_v_nb li {
  padding: 13px 16px;
  border-top: 1px solid var(--amk-border);
  font-size: 0.88rem;
  transition: background var(--amk-transition);
}

#amk-wrap .bo_v_nb li:last-child {
  border-bottom: 1px solid var(--amk-border);
}

#amk-wrap .bo_v_nb li:hover {
  background: var(--amk-bg-gray);
}

/* --- 댓글 --- */
#amk-wrap #bo_vc article {
  padding: 16px 0;
  border-bottom: 1px solid var(--amk-border);
}

#amk-wrap .bo_vc_w textarea {
  border: 1px solid var(--amk-border);
  border-radius: var(--amk-radius);
  padding: 12px;
  font-family: inherit;
}

#amk-wrap .bo_vc_w .btn_submit {
  height: auto;
  padding: 10px 24px;
}

/* --- 빈 테이블 --- */
#amk-wrap .empty_table {
  padding: 60px 0 !important;
  text-align: center;
  color: var(--amk-text-sub);
  font-size: 0.92rem;
}

/* --- 페이지 준비중 메시지 --- */
.amk-preparing {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  text-align: center;
  color: var(--amk-text-sub);
}
.amk-preparing-inner {
  padding: 60px 20px;
}
.amk-preparing-icon {
  font-size: 3rem;
  margin-bottom: 20px;
  color: var(--amk-border);
}
.amk-preparing-msg {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #888;
}

/* 그누보드 서브페이지 여백 */
#amk-wrap > *:not(.amk-slider):not(.amk-section):not(.amk-banner):not(.amk-board-section):not(.amk-sub-hero):not(.amk-sub-nav):not(.amk-board-title-wrap) {
  padding-top: calc(var(--amk-topbar-h) + var(--amk-header-h));
}

/* =============================================
   12. RESPONSIVE - Tablet (≤ 1024px)
   ============================================= */
@media (max-width: 1024px) {
  .amk-topbar {
    display: none;
  }

  .amk-mobile-nav {
    top: var(--amk-header-h);
    height: calc(100vh - var(--amk-header-h));
    height: calc(100dvh - var(--amk-header-h));
  }

  .amk-slider {
    margin-top: var(--amk-header-h);
  }

  .amk-main-page .amk-slider {
    margin-top: 0;
  }

  #amk-wrap .g5_content,
  #amk-wrap #bo_list,
  #amk-wrap #bo_v,
  #amk-wrap #bo_w,
  #amk-wrap #ctt {
    margin-top: calc(var(--amk-header-h) + 30px);
  }

  body.amk-sub-page #amk-wrap .g5_content,
  body.amk-sub-page #amk-wrap #bo_list,
  body.amk-sub-page #amk-wrap #bo_v,
  body.amk-sub-page #amk-wrap #bo_w,
  body.amk-sub-page #amk-wrap #ctt {
    margin-top: 30px;
  }

  #amk-wrap > *:not(.amk-slider):not(.amk-section):not(.amk-banner):not(.amk-board-section):not(.amk-sub-hero):not(.amk-sub-nav):not(.amk-board-title-wrap) {
    padding-top: var(--amk-header-h);
  }

  /* 게시판 테이블 모바일 대응 */
  #amk-wrap .tbl_head01 {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #amk-wrap #bo_w .bo_w_info {
    flex-direction: column;
  }

  #amk-wrap #bo_w .bo_w_info .frm_input {
    min-width: auto;
  }

  #amk-wrap .half_input {
    width: 100%;
    display: block;
  }

  .amk-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .amk-board-wrap {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .amk-banner {
    background-attachment: scroll;
  }

  .amk-huwon {
    background-attachment: scroll;
  }

  .amk-huwon-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  /* 서브페이지 히어로 - 태블릿 */
  .amk-sub-hero {
    margin-top: var(--amk-header-h);
    height: 220px;
    background-attachment: scroll;
  }

  .amk-sub-breadcrumb {
    display: none;
  }

  .amk-board-title-wrap {
    padding: 30px 0 24px;
  }

  .amk-board-title {
    font-size: 1.5rem;
  }

}

/* =============================================
   13. RESPONSIVE - Mobile (≤ 768px)
   ============================================= */
@media (max-width: 768px) {
  :root {
    --amk-header-h: 56px;
  }

  .amk-container {
    padding-left: 5%;
    padding-right: 5%;
  }

  .amk-slider {
    height: 70vh;
    min-height: 420px;
  }

  .amk-slide-content--left {
    padding-left: 6%;
    padding-right: 10%;
    white-space: normal;
  }
  .amk-slide-content--right {
    padding-right: 6%;
    padding-left: 10%;
    white-space: normal;
  }
  .amk-slide-title--hero {
    font-size: 2.6rem;
    white-space: normal;
  }
  .amk-slide-content--left .amk-slide-sub,
  .amk-slide-content--right .amk-slide-sub {
    white-space: normal;
  }

  .amk-slide-prev { left: 10px; width:38px; height:38px; font-size:0.9rem; }
  .amk-slide-next { right:10px; width:38px; height:38px; font-size:0.9rem; }

  .amk-card-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* 카테고리 탭 모바일 */
  #amk-wrap #bo_cate_ul {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #amk-wrap #bo_cate_ul a {
    padding: 10px 18px;
    font-size: 0.85rem;
  }

  /* 게시판 모바일 - 테이블 가로스크롤 */
  #amk-wrap .tbl_head01 table {
    font-size: 0.82rem;
  }

  #amk-wrap .tbl_head01 thead th {
    padding: 10px 6px;
    font-size: 0.78rem;
  }

  #amk-wrap .tbl_head01 tbody td {
    padding: 10px 6px;
  }

  #amk-wrap #bo_list .td_name,
  #amk-wrap #bo_list .td_datetime {
    display: none;
  }

  #amk-wrap #bo_v_title .bo_v_tit {
    font-size: 1.2rem;
  }

  #amk-wrap #bo_v_con {
    font-size: 0.9rem;
    padding: 16px 0;
  }

  #amk-wrap #bo_w .btn_confirm {
    flex-direction: column;
    align-items: stretch;
  }

  #amk-wrap #bo_w .btn_confirm .btn_cancel,
  #amk-wrap #bo_w .btn_confirm .btn_submit {
    width: 100%;
    text-align: center;
  }

  body.amk-sub-page #amk-wrap .g5_content,
  body.amk-sub-page #amk-wrap #bo_list,
  body.amk-sub-page #amk-wrap #bo_v,
  body.amk-sub-page #amk-wrap #bo_w,
  body.amk-sub-page #amk-wrap #ctt {
    margin-top: 24px;
    padding: 0 15px;
  }

  .amk-card-img { height: 200px; }

  .amk-card-btn {
    color: #333 !important;
    background: transparent;
    border: 1.5px solid #333;
  }

  .amk-section { padding: 50px 0; }

  .amk-banner { padding: 70px 0; }

  .amk-huwon {
    padding: 60px 0;
  }

  .amk-huwon-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .amk-huwon-card {
    display: grid;
    grid-template-columns: 56px 1fr;
    grid-template-rows: auto auto auto auto;
    align-items: center;
    text-align: left;
    padding: 24px 20px;
    gap: 4px 16px;
    border-radius: 12px;
  }

  .amk-huwon-card::before {
    top: 0;
    left: 0;
    right: auto;
    bottom: 0;
    width: 4px;
    height: auto;
    border-radius: 12px 0 0 12px;
  }

  .amk-huwon-card:hover::before {
    width: 6px;
    height: auto;
  }

  .amk-huwon-icon {
    grid-column: 1;
    grid-row: 1 / -1;
    width: 56px;
    height: 56px;
    min-width: 56px;
    margin-bottom: 0;
    align-self: center;
  }

  .amk-huwon-icon svg {
    width: 28px;
    height: 28px;
  }

  .amk-huwon-badge {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 0;
    justify-self: start;
  }

  .amk-huwon-card-title {
    grid-column: 2;
    grid-row: 2;
    font-size: 1.05rem;
    margin-bottom: 0;
  }

  .amk-huwon-card-desc {
    grid-column: 2;
    grid-row: 3;
    font-size: 0.82rem;
    margin-bottom: 0;
  }

  .amk-huwon-arrow {
    grid-column: 1 / -1;
    grid-row: 4;
    align-self: center;
    justify-self: stretch;
    position: static;
    padding: 10px 20px;
    font-size: 0.82rem;
    transform: none;
    margin-top: 8px;
    text-align: center;
  }

  .amk-huwon-card:hover .amk-huwon-arrow {
    transform: none;
  }

  .amk-huwon-header {
    margin-bottom: 32px;
  }

  .amk-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
  }

  .amk-board-section {
    padding: 40px 0;
  }

  .amk-board-section .amk-board-wrap {
    padding-left: 5% !important;
    padding-right: 5% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .amk-board-list li a {
    padding: 11px 0;
    gap: 8px;
  }

  .amk-list-title {
    font-size: 0.85rem;
  }

  .amk-list-date {
    font-size: 0.72rem;
  }

  /* 서브페이지 히어로 - 모바일 */
  .amk-sub-hero {
    height: 180px;
  }

  .amk-sub-nav-inner {
    height: 44px;
  }

  .amk-sub-nav-drop-btn {
    padding: 0 12px;
    font-size: 0.85rem;
    gap: 5px;
  }

  .amk-sub-nav-home {
    padding: 0 10px;
  }

  .amk-board-title-wrap {
    padding: 24px 0 18px;
    margin-bottom: 0 !important;
    background-image: none !important;
  }

  .amk-board-title-inner {
    padding: 0 15px;
  }

  .amk-board-title {
    font-size: 1.3rem;
    margin-bottom: 5px;
  }

  .amk-board-desc {
    font-size: 0.85rem;
  }

}

/* =============================================
   14. RESPONSIVE - Small Mobile (≤ 480px)
   ============================================= */
@media (max-width: 480px) {
  .amk-slide-content--left,
  .amk-slide-content--right {
    padding-left: 5%;
    padding-right: 5%;
    white-space: normal;
  }
  .amk-slide-pretitle {
    font-size: 0.9rem;
    margin-bottom: 4px;
  }
  .amk-slide-title {
    font-size: 1.4rem;
  }
  .amk-slide-title--hero {
    font-size: 1.8rem;
    white-space: normal;
  }
  .amk-slide-content--left .amk-slide-sub,
  .amk-slide-content--right .amk-slide-sub {
    font-size: 0.88rem;
    white-space: normal;
  }
  .amk-lang-current {
    font-size: 0.78rem;
    padding: 4px 9px;
  }
  .amk-section-title {
    font-size: 1.8rem;
  }
  .amk-banner-title {
    font-size: 1.7rem !important; letter-spacing:-1px;
	line-height:1.5em;
  }
	.amk-aboutus-title{font-size: 1.8rem !important;
	}
  .amk-huwon-title {
    font-size: 1.8rem;
  }

  .amk-huwon-sub {
    font-size: 0.88rem;
  }

  .amk-huwon-card {
    padding: 20px 16px;
    padding-right: 48px;
  }

  .amk-huwon-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .amk-huwon-icon svg {
    width: 24px;
    height: 24px;
  }

  /* 서브페이지 히어로 - 소형 모바일 */
  .amk-sub-hero {
    height: 150px;
  }

  .amk-sub-hero-title {
    font-size: 1.4rem;
  }

  .amk-sub-nav-drop-btn {
    padding: 0 10px;
    font-size: 0.8rem;
  }

  .amk-board-title-wrap {
    padding: 20px 0 14px;
  }

  .amk-board-title {
    font-size: 1.8rem;
  }

.amk-banner-btn {
    padding: 5px 58px 3px;
    font-size: 17px;
}

.amk-banner-sub {
    font-size: 17px; letter-spacing:-1px;
    line-height: 1.5;
}


}

/* =============================================
   15. 접근성
   ============================================= */
:focus-visible {
  outline: 2px solid var(--amk-accent);
  outline-offset: 2px;
}

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

/* 애니메이션 비선호 사용자 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .amk-slide { transition: none; }
}

/* =============================================
   16. 풀스크린 사이트맵 오버레이
   ============================================= */
.amk-sitemap {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 2000;
  overflow-y: auto;
  display: none;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.amk-sitemap.open {
  display: block;
  opacity: 1;
}

/* 닫기 + 언어 (우측 상단) */
.amk-sitemap-top {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 32px 48px;
  z-index: 10;
}

.amk-sitemap-close {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--amk-text);
  padding: 6px 0;
  transition: color var(--amk-transition);
  font-family: inherit;
}

.amk-sitemap-close:hover { color: var(--amk-accent); }

.amk-sitemap-close span {
  font-size: 0.82rem;
  letter-spacing: 0.03em;
}

/* 언어 선택 (세로 정렬) */
.amk-sitemap-lang {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  margin-top: 20px;
}

.amk-sitemap-lang a {
  font-size: 0.88rem;
  font-weight: 600;
  color: #999;
  letter-spacing: 0.04em;
  padding: 4px 0;
  transition: color var(--amk-transition);
}

.amk-sitemap-lang a:hover { color: var(--amk-text); }

.amk-sitemap-lang a.active {
  color: #c0392b;
  font-weight: 800;
}

/* 본문 레이아웃 */
.amk-sitemap-body {
  display: flex;
  min-height: 100vh;
  padding: 0;
}

/* 좌측 패널 */
.amk-sitemap-left {
  width: 36%;
  min-width: 320px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 60px;
  border-right: 1px solid #eee;
}

.amk-sitemap-logo {
  margin-bottom: 28px;
}

.amk-sitemap-logo img {
  height: 50px;
  width: auto;
}

.amk-sitemap-copy {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.35;
  color: var(--amk-text);
  margin-bottom: 40px;
  word-break: keep-all;
}

.amk-sitemap-footer {
  margin-top: auto;
}

.amk-sitemap-footer a {
  display: inline-block;
  font-size: 0.85rem;
  color: #c0392b;
  font-weight: 600;
  margin-bottom: 14px;
  transition: color var(--amk-transition);
}

.amk-sitemap-footer a:hover { color: var(--amk-accent); }

.amk-sitemap-copyright {
  font-size: 0.8rem;
  color: #999;
  margin-top: 8px;
}

/* 우측 메뉴 영역 */
.amk-sitemap-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 60px;
  gap: 36px;
}

.amk-sitemap-group {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid #eee;
}

.amk-sitemap-group:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.amk-sitemap-menu-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--amk-text);
  min-width: 160px;
  flex-shrink: 0;
  padding-top: 2px;
}

/* 서브메뉴 리스트 (가로 나열) */
.amk-sitemap-sub {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 0;
}

.amk-sitemap-sub > li {
  position: relative;
}

.amk-sitemap-sub > li > a {
  display: inline-block;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--amk-text-sub);
  padding: 2px 0;
  transition: color var(--amk-transition);
}

.amk-sitemap-sub > li > a:hover { color: var(--amk-accent); }

/* 구분자 슬래시 */
.amk-sitemap-sub > li + li > a::before {
  content: '/';
  margin: 0 12px;
  color: #ccc;
  font-weight: 400;
}

/* 3단계 메뉴는 숨김 (사이트맵에서는 2단계까지만 표시) */
.amk-sitemap-depth3 {
  display: none;
}

/* =============================================
   16-1. 사이트맵 반응형
   ============================================= */
@media (max-width: 1024px) {
  .amk-sitemap-top {
    padding: 20px 24px;
  }

  .amk-sitemap-body {
    flex-direction: column;
    min-height: auto;
  }

  .amk-sitemap-left {
    width: 100%;
    min-width: auto;
    padding: 80px 24px 30px;
    border-right: none;
    border-bottom: 1px solid #eee;
    justify-content: flex-start;
  }

  .amk-sitemap-copy {
    font-size: 1.5rem;
    margin-bottom: 16px;
  }

  .amk-sitemap-footer {
    margin-top: 20px;
  }

  .amk-sitemap-right {
    padding: 30px 24px 60px;
    gap: 24px;
  }

  .amk-sitemap-group {
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
  }

  .amk-sitemap-menu-title {
    font-size: 1.1rem;
    min-width: auto;
  }

  .amk-sitemap-sub {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .amk-sitemap-close span { display: none; }
}

/* =============================================
   ABOUT US 섹션 (daontheme 스타일 4칸 그리드)
   ============================================= */
.amk-aboutus {
  padding: 80px 0;
  background: #fff;
}

.amk-aboutus-title {
  font-family: var(--amk-font-title) !important;
  font-weight: 500;
  font-size: 2.82rem;
  letter-spacing: 0.05em;
  color: var(--amk-text);
}

/*.amk-aboutus-title::after {
  display: none;
}*/

.amk-aboutus-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--amk-accent);
  margin: 10px auto 0;
  border-radius: 2px;
}



.amk-aboutus .amk-container {
  max-width: 1400px;
}

.amk-aboutus-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0;
}

/* 그리드 배치:
   행1: [이미지1] [텍스트1] [이미지2] [텍스트2]
   행2: [텍스트3] [이미지3] [텍스트4] [이미지4]
*/
.amk-aboutus-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  color: var(--amk-text);
  transition: all 0.3s ease;
}

.amk-aboutus-item:hover {
  color: var(--amk-text);
}

/* 이미지 아이템 */
.amk-aboutus-item--img {
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.amk-aboutus-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-color: #e5e5e5;
  transition: transform 0.5s ease;
}

.amk-aboutus-item--img:hover .amk-aboutus-img {
  transform: scale(1.05);
}

/* 텍스트 아이템 */
.amk-aboutus-item--txt {
  padding: 30px 32px;
}

.amk-aboutus-label {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--amk-text-sub);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.amk-aboutus-item-title {font-family: var(--amk-font-title) !important;
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 700;
  color: var(--amk-text);
  margin-bottom: 12px;
  line-height: 1.3;
}

/* 호버시 늘어나는 라인 애니메이션 */
.amk-aboutus-line {
  display: block;
  width: 40px;
  height: 2px;
  background: var(--amk-text);
  margin-bottom: 16px;
  transition: width 0.4s ease;
}

.amk-aboutus-item--txt:hover .amk-aboutus-line {
  width: 100%;
}

.amk-aboutus-desc {
  font-size: 0.9rem;
  color: var(--amk-text-sub);
  line-height: 1.7;
}

/* 2행: 텍스트 왼쪽 배치 (그리드 내 순서 조정) */
/* 행1: col1(img) col2(txt) col3(img) col4(txt) */
.amk-aboutus-grid > .amk-aboutus-item:nth-child(1) { grid-column: 1; grid-row: 1; }
.amk-aboutus-grid > .amk-aboutus-item:nth-child(2) { grid-column: 2; grid-row: 1; }
.amk-aboutus-grid > .amk-aboutus-item:nth-child(3) { grid-column: 3; grid-row: 1; }
.amk-aboutus-grid > .amk-aboutus-item:nth-child(4) { grid-column: 4; grid-row: 1; }
/* 행2: col1(txt) col2(img) col3(txt) col4(img) */
.amk-aboutus-grid > .amk-aboutus-item:nth-child(5) { grid-column: 1; grid-row: 2; }
.amk-aboutus-grid > .amk-aboutus-item:nth-child(6) { grid-column: 2; grid-row: 2; }
.amk-aboutus-grid > .amk-aboutus-item:nth-child(7) { grid-column: 3; grid-row: 2; }
.amk-aboutus-grid > .amk-aboutus-item:nth-child(8) { grid-column: 4; grid-row: 2; }

/* =============================================
   ABOUT US 반응형
   ============================================= */
@media (max-width: 1024px) {
  .amk-aboutus-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;
  }
  /* 재배치: 각 아이템 쌍을 2열로 */
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(2) { grid-column: 2; grid-row: 1; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(3) { grid-column: 1; grid-row: 2; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(4) { grid-column: 2; grid-row: 2; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(5) { grid-column: 1; grid-row: 3; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(6) { grid-column: 2; grid-row: 3; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(7) { grid-column: 1; grid-row: 4; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(8) { grid-column: 2; grid-row: 4; }

  .amk-aboutus-item--txt {
    padding: 24px 20px;
  }
}

@media (max-width: 768px) {
  .amk-aboutus {
    padding: 60px 0;
  }

  .amk-aboutus-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  /* 모바일: 이미지→텍스트 순서로 단일 컬럼 재배치 */
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(2) { grid-column: 1; grid-row: 2; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(3) { grid-column: 1; grid-row: 3; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(4) { grid-column: 1; grid-row: 4; }
  /* 행2: 텍스트→이미지 순서이므로 이미지를 먼저 보이게 재배치 */
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(6) { grid-column: 1; grid-row: 5; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(5) { grid-column: 1; grid-row: 6; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(8) { grid-column: 1; grid-row: 7; }
  .amk-aboutus-grid > .amk-aboutus-item:nth-child(7) { grid-column: 1; grid-row: 8; }

  .amk-aboutus-item--img {
    aspect-ratio: 16 / 9;
  }

  .amk-aboutus-item--txt {
    padding: 24px 16px;
  }

  .amk-aboutus-item-title {
    font-size: 1.2rem;
  }
}

/* =============================================
   ESG 섹션 : 조합회원사 + 홍보영상
   ============================================= */
.amk-esg {
  padding: 60px 0;
  background: var(--amk-bg-gray);
}

.amk-esg-wrap {
  display: flex;
  gap: 24px;
  align-items: stretch;
}

/* 좌측 조합회원사 카드 */
.amk-esg-member {
  flex: 0 0 30%;
  max-width: 30%;
}

.amk-esg-member-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 340px;
  padding: 40px 32px;
  background: #5674b9;
  border-radius: var(--amk-radius);
  color: #fff !important;
  text-decoration: none;
  transition: var(--amk-transition);
}

.amk-esg-member-inner:hover {
  background: #4a65a3;
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(86,116,185,0.35);
}

.amk-esg-sub-tit {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.5px;
  opacity: 0.85;
  margin-bottom: 12px;
}

.amk-esg-tit {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.3;
}

.amk-esg-member-btn {
  margin-top: auto;
  padding-top: 30px;
}

.amk-esg-link-txt {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 10px;
  opacity: 0.9;
}

.amk-esg-arrow svg {
  transition: transform 0.3s ease;
}

.amk-esg-member-inner:hover .amk-esg-arrow svg {
  transform: translateX(6px);
}

/* 우측 홍보영상 영역 */
.amk-esg-videos {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.amk-esg-video-grid {
  display: flex;
  gap: 24px;
  flex: 1;
}

.amk-esg-video-item {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.amk-esg-video-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 비율 */
  border-radius: var(--amk-radius);
  overflow: hidden;
  background: #000;
  box-shadow: var(--amk-shadow);
}

.amk-esg-video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.amk-esg-video-title {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 600;
  color: var(--amk-text);
  line-height: 1.4;
  text-align: center;
}

/* 홍보영상 더보기 버튼 */
.amk-esg-more-wrap {
  text-align: center;
  margin-top: 20px;
}

.amk-esg-more-btn {
  display: inline-block;
  padding: 10px 32px;
  background: #5674b9;
  color: #fff !important;
  font-size: 15px;
  font-weight: 600;
  border-radius: 50px;
  text-decoration: none;
  transition: var(--amk-transition);
}

.amk-esg-more-btn:hover {
  background: #4a65a3;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(86,116,185,0.4);
}

/* 반응형: 태블릿 */
@media (max-width: 1024px) {
  .amk-esg-wrap {
    flex-direction: column;
  }

  .amk-esg-member {
    flex: 0 0 auto;
    max-width: 100%;
  }

  .amk-esg-member-inner {
    min-height: auto;
    padding: 30px 24px;
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }

  .amk-esg-member-btn {
    margin-top: 0;
    padding-top: 0;
  }
}

/* 반응형: 모바일 */
@media (max-width: 640px) {
  .amk-esg {
    padding: 40px 0;
  }

  .amk-esg-member-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .amk-esg-tit {
    font-size: 1.5rem;
  }

  .amk-esg-video-grid {
    flex-direction: column;
    gap: 16px;
  }

  .amk-esg-member-btn {
    margin-top: 0;
    padding-top: 20px;
  }
}

/* =============================================
   파트너 배너 슬라이더
   ============================================= */
.amk-banner-section {
  padding: 60px 0;
  background: var(--amk-bg-gray);
  overflow: hidden;
}

.amk-banner-section .amk-container {
  max-width: 1400px;
  position: relative;
}

.amk-banner-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background: rgba(255,255,255,0.9);
  color: #333;
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.amk-banner-arrow:hover {
  background: var(--amk-primary);
  color: #fff !important;
  border-color: var(--amk-primary);
}
.amk-banner-prev { left: -30px; }
.amk-banner-next { right: -30px; }
@media (max-width: 768px) {
  .amk-banner-prev { left: 4px; }
  .amk-banner-next { right: 4px; }
  .amk-banner-arrow { width: 32px; height: 32px; font-size: 0.9rem; }
}

.amk-banner-slider {
  overflow: hidden;
  width: 100%;
}

.amk-banner-track {
  display: flex;
  gap: 27.5px;
  will-change: transform;
}

.amk-banner-item {
  flex-shrink: 0;
  width: 250px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.amk-banner-item:hover {
  opacity: 0.7;
}

.amk-banner-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 모바일: 배너 2개씩 보이도록 */
@media (max-width: 768px) {
  .amk-banner-section {
    padding: 40px 0;
  }

  .amk-banner-track {
    gap: 16px;
  }

  .amk-banner-item {
    width: calc((100vw - 40px - 16px) / 2);
    height: auto;
  }
}

/* =============================================
   게시판 카테고리 색상
   ============================================= */
.bo_cate_link {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #fff !important;
  text-decoration: none;
  background: #999;
}

/* 파트너STORY - 파란색 */
a.bo_cate_link[href*="%ED%8C%8C%ED%8A%B8%EB%84%88STORY"] {
  background: #5bcaef;
}

/* 현장STORY - 분홍색 */
a.bo_cate_link[href*="%ED%98%84%EC%9E%A5STORY"] {
  background: #f486e3;
}

/* 캠페인STORY - 노란색 */
a.bo_cate_link[href*="%EC%BA%A0%ED%8E%98%EC%9D%B8STORY"] {
  background: #ffd042;
  color: #333 !important;
}

/* =============================================
   팝업레이어
   ============================================= */
#hd_pop {
  position: relative;
  z-index: 99999;
}

#hd_pop > h2 {
  position: absolute;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  width: 0;
  height: 0;
}

.hd_pops {
  position: fixed !important;
  z-index: 99999;
  background: #000 !important;
  border: none !important;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
  overflow: hidden;
}

.hd_pops_con {
  overflow: hidden;
}

.hd_pops_con p {
  margin: 0;
  padding: 0;
  line-height: 0;
}

.hd_pops_con br {
  display: none;
}

.hd_pops_con img {
  max-width: 100%;
  height: auto;
  display: block;
}

.hd_pops_footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #000 !important;
  padding: 12px 16px !important;
  position: relative !important;
}

.hd_pops_footer button {
  background: #000 !important;
  border: none !important;
  color: #ccc !important;
  font-size: 0.8rem;
  cursor: pointer;
  padding: 0 !important;
  line-height: 1;
  position: static !important;
}

.hd_pops_footer button:hover {
  color: #fff !important;
}

.hd_pops_footer .hd_pops_reject {
  background: #000 !important;
}

.hd_pops_footer .hd_pops_close {
  color: #fff !important;
  font-weight: 600;
  background: #000 !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}

.hd_pops_footer .hd_pops_close i {
  vertical-align: middle;
  line-height: 1;
}

/* 모바일 팝업 최적화 */
@media (max-width: 768px) {
  .hd_pops {
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%);
    width: 92vw !important;
    max-width: 400px;
  }

  .hd_pops_con {
    width: 100% !important;
    height: auto !important;
  }

  .hd_pops_con img {
    width: 100%;
    height: auto;
  }

  .hd_pops_footer {
    padding: 10px 12px;
  }

  .hd_pops_footer button {
    font-size: 0.75rem;
  }
}
