/* mobileN dark mode (Astra palette) — toggle via body.mn-dark */
.mn-dark-toggle {
  position: fixed; bottom: 22px; right: 22px; z-index: 99999;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(15, 76, 92, 0.85);
  border: 1px solid rgba(34, 211, 238, 0.5);
  color: #FFB347; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,0.35), 0 0 12px rgba(34,211,238,0.25);
  backdrop-filter: blur(8px); transition: transform .2s ease, box-shadow .2s ease;
}
.mn-dark-toggle:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.5), 0 0 18px rgba(255,179,71,0.45); }
.mn-dark-toggle svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.8; }

/* Dark mode active — html에 그라디언트 (z:-1 이하 영역), body는 투명 */
html.mn-dark {
  background: linear-gradient(180deg, #0A1B3D 0%, #0F4C5C 55%, #1A2B4C 100%) fixed !important;
}
body.mn-dark { background: transparent !important; color: #F5F0E1 !important; }
body.mn-dark, body.mn-dark * { border-color: rgba(34,211,238,0.25) !important; }
body.mn-dark a { color: #FFB347 !important; }
body.mn-dark a:hover, body.mn-dark a:focus { color: #FFD27D !important; }
body.mn-dark h1, body.mn-dark h2, body.mn-dark h3, body.mn-dark h4, body.mn-dark h5, body.mn-dark h6 { color: #F5F0E1 !important; }
body.mn-dark hr { border-color: rgba(34,211,238,0.25) !important; }

body.mn-dark .container, body.mn-dark .wrapper, body.mn-dark .content, body.mn-dark section, body.mn-dark article,
body.mn-dark .card, body.mn-dark .panel, body.mn-dark .box, body.mn-dark aside,
body.mn-dark .section, body.mn-dark .row { background-color: transparent !important; }
body.mn-dark .card, body.mn-dark .panel, body.mn-dark .box {
  background-color: rgba(15, 76, 92, 0.18) !important;
  border: 1px solid rgba(34, 211, 238, 0.18) !important;
}

body.mn-dark header, body.mn-dark .header, body.mn-dark nav, body.mn-dark .nav, body.mn-dark .navbar,
body.mn-dark footer, body.mn-dark .footer {
  background-color: rgba(10, 27, 61, 0.85) !important;
  color: #F5F0E1 !important;
  backdrop-filter: blur(10px);
}

body.mn-dark [class*="bg-white"], body.mn-dark [style*="background:#fff"], body.mn-dark [style*="background-color:#fff"] {
  background-color: rgba(15, 76, 92, 0.15) !important;
}

body.mn-dark input, body.mn-dark textarea, body.mn-dark select {
  background-color: rgba(10, 27, 61, 0.6) !important;
  color: #F5F0E1 !important;
  border-color: rgba(34, 211, 238, 0.35) !important;
}
body.mn-dark input::placeholder, body.mn-dark textarea::placeholder { color: rgba(245, 240, 225, 0.5) !important; }

body.mn-dark button:not(.mn-dark-toggle), body.mn-dark .btn, body.mn-dark input[type="button"], body.mn-dark input[type="submit"] {
  background: linear-gradient(135deg, #F59E0B, #FFB347) !important;
  color: #0A1B3D !important;
  border: 1px solid rgba(212, 175, 55, 0.6) !important;
}

body.mn-dark img { filter: brightness(0.94) saturate(0.96); }

body.mn-dark pre, body.mn-dark code {
  background-color: rgba(10, 27, 61, 0.6) !important;
  color: #FFB347 !important;
}

body.mn-dark table { background-color: transparent !important; }
body.mn-dark th { background-color: rgba(15, 76, 92, 0.4) !important; color: #F5F0E1 !important; }
body.mn-dark td { background-color: rgba(10, 27, 61, 0.3) !important; color: #F5F0E1 !important; border-color: rgba(34,211,238,0.18) !important; }

html, body { transition: background 0.4s ease, color 0.3s ease; }


/* 게시판 글목록 — 텍스트 흰색 강제 */
body.mn-dark .bo_list, body.mn-dark .bo_list *,
body.mn-dark #bo_list, body.mn-dark #bo_list *,
body.mn-dark #bo_gall, body.mn-dark #bo_gall *,
body.mn-dark .il-wrap, body.mn-dark .il-wrap *,
body.mn-dark .ql-wrap, body.mn-dark .ql-wrap *,
body.mn-dark .bl-head, body.mn-dark .bl-head *,
body.mn-dark .bl-list, body.mn-dark .bl-list *,
body.mn-dark .tbl_wrap, body.mn-dark .tbl_wrap *,
body.mn-dark .tbl_head01, body.mn-dark .tbl_head01 *,
body.mn-dark .list_01, body.mn-dark .list_01 * {
  color: #ffffff !important;
}
body.mn-dark .bo_list a, body.mn-dark #bo_list a, body.mn-dark #bo_gall a,
body.mn-dark .il-wrap a, body.mn-dark .ql-wrap a, body.mn-dark .bl-head a, body.mn-dark .bl-list a,
body.mn-dark .tbl_wrap a, body.mn-dark .tbl_head01 a, body.mn-dark .list_01 a {
  color: #ffffff !important;
}


/* 설치요청하기 / 문의하기 버튼 — 검색 버튼과 동일 amber 그라디언트 */
body.mn-dark .il-write-btn, body.mn-dark .il-write-btn--sm,
body.mn-dark .ql-write-btn, body.mn-dark .ql-write-btn--sm {
  background: linear-gradient(135deg, #F59E0B, #FFB347) !important;
  background-image: linear-gradient(135deg, #F59E0B, #FFB347) !important;
  color: #0A1B3D !important;
  border: 1px solid rgba(212, 175, 55, 0.6) !important;
}


/* 푸터 — Company info 버튼 배경 흰색, 약관 링크 텍스트 흰색 */
body.mn-dark button.mobilen-footer__ci-btn,
body.mn-dark .mobilen-footer button.mobilen-footer__ci-btn {
  background: #9CA3AF !important;
  background-image: none !important;
  background-color: #9CA3AF !important;
  color: #0A1B3D !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
}
body.mn-dark .mobilen-footer__legal a,
body.mn-dark .mobilen-footer__legal {
  color: #ffffff !important;
}


/* 헤더/푸터 로고 배경 투명 */
body.mn-dark .mobilen-logo, body.mn-dark .mobilen-logo img,
body.mn-dark .mobilen-footer__logo, body.mn-dark .mobilen-footer__brand img,
body.mn-dark img.logo-dark-mode {
  background-color: transparent !important;
  background: transparent !important;
}


/* 헤더 메뉴 텍스트 흰색 */
body.mn-dark .mobilen-nav__link { color: #ffffff !important; }
body.mn-dark .mobilen-nav__link:hover, body.mn-dark .mobilen-nav__link.active { color: #FFB347 !important; }


/* 헤더 고객센터 버튼 배경 제거 */
body.mn-dark button.mobilen-nav__link, body.mn-dark button.mn-dropdown-toggle {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  border: none !important;
  color: #ffffff !important;
}
body.mn-dark button.mobilen-nav__link:hover, body.mn-dark button.mn-dropdown-toggle:hover { color: #FFB347 !important; }


/* 다크모드 토글 버튼 숨김 */
.mn-dark-toggle { display: none !important; }
