/**
 * /home 라이트·다크 테마
 * - 기본: 라이트
 * - html[data-theme="dark"]: 다크 (세션 tp=d / theme_set.php)
 */

:root {
    --home-bg: #ffffff;
    --home-bg-soft: #f8fafc;
    --home-bg-muted: #f1f5f9;
    --home-surface: #ffffff;
    --home-text: #14141f;
    --home-text-2: #1e293b;
    --home-muted: #64748b;
    --home-border: rgba(19, 53, 123, 0.12);
    --home-border-strong: rgba(19, 53, 123, 0.28);
    --home-brand: #13357b;
    --home-brand-soft: rgba(19, 53, 123, 0.08);
    --home-accent: #cf9d47;
    --home-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    --home-shadow-lg: 0 16px 40px rgba(15, 23, 42, 0.1);
    --home-input-bg: #ffffff;
    --home-input-border: #e5e7eb;

    /* 회원/게시판 스킨 호환 변수 */
    --brand: #cf9d47;
    --brand-dark: #b8860b;
    --ink: #111827;
    --ink-2: #374151;
    --muted: #6b7280;
    --line: #e5e7eb;
    --white: #ffffff;
    --bg-gray: #f8fafc;
}

html[data-theme="dark"] {
    color-scheme: dark;
    /* 브랜드 네이비(#13357b) → 다크모드용 밝은 파랑 */
    --bs-primary: #6ea8fe;
    --bs-primary-rgb: 110, 168, 254;
    --home-bg: #0b1220;
    --home-bg-soft: #111827;
    --home-bg-muted: #1a2332;
    --home-surface: #1f2937;
    --home-text: #f3f4f6;
    --home-text-2: #e5e7eb;
    --home-muted: #ddd;
    --home-border: rgba(110, 168, 254, 0.22);
    --home-border-strong: rgba(110, 168, 254, 0.45);
    --home-brand: #6ea8fe;
    --home-brand-soft: rgba(110, 168, 254, 0.14);
    --home-accent: #e8ce91;
    --home-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    --home-shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.45);
    --home-input-bg: #0f172a;
    --home-input-border: #374151;

    --brand: #cf9d47;
    --brand-dark: #e8ce91;
    --ink: #f3f4f6;
    --ink-2: #e5e7eb;
    --muted: #ddd;
    --line: #374151;
    --white: #1f2937;
    --bg-gray: #0f172a;
}

/* 테마별 로고: dark_only=다크로고(라이트), white_only=화이트로고(다크) */
.white_only {
    display: none !important;
}
.dark_only {
    display: block !important;
}
html[data-theme="dark"] .white_only {
    display: block !important;
}
html[data-theme="dark"] .dark_only {
    display: none !important;
}

/* ========== 전역 ========== */
html[data-theme="dark"] body,
html[data-theme="dark"] body.page-home-member,
html[data-theme="dark"] body.page-inner {
    background: var(--home-bg) !important;
    color: var(--home-text);
}

html[data-theme="dark"] #spinner,
html[data-theme="dark"] #spinner.show,
html[data-theme="dark"] .show.bg-white {
    background: var(--home-bg) !important;
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] .h1,
html[data-theme="dark"] .h2,
html[data-theme="dark"] .h3,
html[data-theme="dark"] .h4,
html[data-theme="dark"] .h5,
html[data-theme="dark"] .h6 {
    color: var(--home-text);
}

html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] label,
html[data-theme="dark"] td,
html[data-theme="dark"] th {
    color: var(--home-text-2);
}

html[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.home-auth-link) {
    color: var(--home-brand);
}

html[data-theme="dark"] .text-dark,
html[data-theme="dark"] .text-body {
    color: var(--home-text-2) !important;
}

html[data-theme="dark"] .text-primary,
html[data-theme="dark"] .text-muted.text-primary {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .border-primary {
    border-color: var(--bs-primary) !important;
}

/* 상단 네이비 바는 브랜드 톤 유지 (밝은 파랑으로 바꾸지 않음) */
html[data-theme="dark"] .container-fluid.bg-primary {
    background-color: #13357b !important;
}

/* 하드코딩 #13357B 텍스트·보더 → 밝은 파랑 */
html[data-theme="dark"] .pre-kicker,
html[data-theme="dark"] .pre-label,
html[data-theme="dark"] .biz-kicker,
html[data-theme="dark"] .biz-label,
html[data-theme="dark"] .loc-kicker,
html[data-theme="dark"] .loc-label,
html[data-theme="dark"] .danji-kicker,
html[data-theme="dark"] .danji-head-kicker,
html[data-theme="dark"] .danji-label,
html[data-theme="dark"] .sedae-kicker,
html[data-theme="dark"] .sedae-label,
html[data-theme="dark"] .home-kicker,
html[data-theme="dark"] .visit-kicker {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .text-secondary {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .bg-light {
    background-color: var(--home-surface) !important;
}

html[data-theme="dark"] .border,
html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-start,
html[data-theme="dark"] .border-end {
    border-color: var(--home-border) !important;
}

/* ========== 최소 글자 크기 15px: 브라우저·Bootstrap 기본 축소값 보정 ========== */
small,
.small,
sub,
sup,
.badge,
.btn-sm,
.btn-group-sm > .btn,
.form-control-sm,
.form-select-sm,
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.form-text,
.invalid-feedback,
.valid-feedback,
.dropdown-item,
.dropdown-header,
.tooltip,
.popover,
.breadcrumb,
.figure-caption,
.blockquote-footer,
code,
kbd,
samp,
input,
select,
textarea,
button {
    font-size: max(15px, 1em);
}

small,
.small,
sub,
sup,
.badge,
.figure-caption,
.blockquote-footer {
    font-size: max(15px, 0.875em);
}

/* ========== 메뉴 글자 크기: 페이지별 인라인 스타일보다 우선 ========== */
html .navbar-light .navbar-nav .nav-link {
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em;
}

@media (min-width: 992px) and (max-width: 1299.98px) {
    html .navbar-light .navbar-nav .nav-link {
        font-size: 16px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* ========== 메뉴: 고정(sticky) 시 어두운 배경 + 흰 글씨 ========== */
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link {
    color: #fff !important;
}

.sticky-top.navbar-light,
html[data-theme="dark"] .sticky-top.navbar-light {
    background: #13357b !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

.sticky-top.navbar-light .navbar-nav .nav-link,
html[data-theme="dark"] .sticky-top.navbar-light .navbar-nav .nav-link {
    color: #fff !important;
}

.sticky-top.navbar-light .navbar-nav .nav-link:hover,
.sticky-top.navbar-light .navbar-nav .nav-link.active,
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link.active,
html[data-theme="dark"] .sticky-top.navbar-light .navbar-nav .nav-link:hover,
html[data-theme="dark"] .sticky-top.navbar-light .navbar-nav .nav-link.active {
    color: #fff !important;
}

html[data-theme="dark"] .navbar-light .navbar-brand h1 {
    color: #fff !important;
}

.sticky-top.navbar-light .navbar-brand h1,
html[data-theme="dark"] .sticky-top.navbar-light .navbar-brand h1 {
    color: #fff !important;
    text-shadow: none;
    opacity: 1 !important;
    visibility: visible !important;
}

.sticky-top.navbar-light .navbar-nav .nav-link::before,
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link::before {
    background: #13357b !important;
}

@media (max-width: 991.98px) {
    .navbar-light,
    .sticky-top.navbar-light,
    html[data-theme="dark"] .sticky-top.navbar-light,
    html[data-theme="dark"] .navbar-light {
        background: #13357b !important;
    }

    .navbar-light .navbar-nav .nav-link,
    .sticky-top.navbar-light .navbar-nav .nav-link,
    html[data-theme="dark"] .navbar-light .navbar-nav .nav-link,
    html[data-theme="dark"] .sticky-top.navbar-light .navbar-nav .nav-link {
        color: #fff !important;
    }

    .navbar-light .navbar-nav .nav-link:hover,
    .navbar-light .navbar-nav .nav-link.active,
    html[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
    html[data-theme="dark"] .navbar-light .navbar-nav .nav-link.active {
        color: #fff !important;
    }

    .navbar-light .navbar-brand h1,
    html[data-theme="dark"] .navbar-light .navbar-brand h1 {
        color: #fff !important;
    }

    .navbar.navbar-expand-lg .navbar-toggler,
    html[data-theme="dark"] .navbar.navbar-expand-lg .navbar-toggler {
        color: #fff !important;
    }

    .home-auth-mobile-link,
    html[data-theme="dark"] .home-auth-mobile-link {
        color: #fff !important;
    }

    .home-auth-mobile-link:hover,
    .home-auth-mobile-link:focus,
    html[data-theme="dark"] .home-auth-mobile-link:hover,
    html[data-theme="dark"] .home-auth-mobile-link:focus {
        color: #e8ce91 !important;
    }

    .home-theme-mobile,
    html[data-theme="dark"] .home-theme-mobile {
        color: #fff !important;
    }

    .home-theme-mobile:hover,
    .home-theme-mobile:focus,
    html[data-theme="dark"] .home-theme-mobile:hover,
    html[data-theme="dark"] .home-theme-mobile:focus {
        color: #e8ce91 !important;
    }
}

/* ========== 현재 메뉴 표시: 라이트·다크·고정 상태 공통 ========== */
html .navbar-light .navbar-nav .nav-link.active,
html .sticky-top.navbar-light .navbar-nav .nav-link.active,
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link.active,
html[data-theme="dark"] .sticky-top.navbar-light .navbar-nav .nav-link.active {
    color: #ecd48a !important;
    font-weight: 700 !important;
}

@media (min-width: 992px) {
    html .sticky-top.navbar-light,
    html[data-theme="dark"] .sticky-top.navbar-light {
        background: rgba(8, 27, 51, 0.94) !important;
        -webkit-backdrop-filter: saturate(160%) blur(16px);
        backdrop-filter: saturate(160%) blur(16px);
        box-shadow: 0 8px 24px rgba(8, 27, 51, 0.22);
    }

    html .navbar-light .navbar-nav .nav-link::before,
    html .sticky-top.navbar-light .navbar-nav .nav-link::before,
    html[data-theme="dark"] .navbar-light .navbar-nav .nav-link::before,
    html[data-theme="dark"] .sticky-top.navbar-light .navbar-nav .nav-link::before {
        left: 0 !important;
        width: 100%;
        background:
            linear-gradient(90deg, #f0dca0, #d0aa4e 50%, #c9a227) bottom / 100% 3px no-repeat,
            linear-gradient(to top, rgba(208, 170, 78, 0.26), rgba(208, 170, 78, 0) 85%) !important;
        box-shadow: none !important;
    }

    html .navbar-light .navbar-nav .nav-link:not(.active):hover::before,
    html .sticky-top.navbar-light .navbar-nav .nav-link:not(.active):hover::before {
        opacity: 0.5;
    }

}

html .navbar-light .navbar-nav .nav-link:hover,
html .navbar-light .navbar-nav .nav-link:focus-visible,
html .sticky-top.navbar-light .navbar-nav .nav-link:hover,
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
html[data-theme="dark"] .navbar-light .navbar-nav .nav-link:focus-visible,
html[data-theme="dark"] .sticky-top.navbar-light .navbar-nav .nav-link:hover {
    color: #ecd48a !important;
}

@media (max-width: 991.98px) {
    html .navbar-light .navbar-nav .nav-link.active,
    html[data-theme="dark"] .navbar-light .navbar-nav .nav-link.active {
        background: linear-gradient(90deg, rgba(208, 170, 78, 0.24), rgba(208, 170, 78, 0.04));
        box-shadow: inset 3px 0 0 #d0aa4e;
        border-radius: 0 8px 8px 0;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ========== 메뉴바 로고: 상단·고정 상태 모두 표시 ========== */
html .navbar-light .navbar-brand h1,
html .sticky-top.navbar-light .navbar-brand h1 {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

html .navbar-light .navbar-brand h1 img {
    display: block;
    height: 48px;
    max-height: 48px;
    width: auto;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
    transition: height 0.25s ease;
}

html .sticky-top.navbar-light .navbar-brand h1 img {
    height: 38px;
    max-height: 38px;
    filter: none;
}

@media (max-width: 991.98px) {
    html .navbar-light .navbar-brand h1 img {
        height: 36px;
        max-height: 36px;
    }
}

/* ========== 회원/게시판 레이아웃 ========== */
html[data-theme="dark"] .home-member-main,
html[data-theme="dark"] #wrapper,
html[data-theme="dark"] #container_wr,
html[data-theme="dark"] #container {
    background: var(--home-bg) !important;
    color: var(--home-text);
}

html[data-theme="dark"] #container_title,
html[data-theme="dark"] .home-member-title {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .mbskin,
html[data-theme="dark"] .mbskin h1,
html[data-theme="dark"] .mbskin .mbskin_box,
html[data-theme="dark"] #mb_login,
html[data-theme="dark"] #mb_confirm,
html[data-theme="dark"] #register_form,
html[data-theme="dark"] .register_form_inner {
    color: var(--home-text);
}

html[data-theme="dark"] .frm_input,
html[data-theme="dark"] .form_01 textarea,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="tel"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
    background: var(--home-input-bg) !important;
    border-color: var(--home-input-border) !important;
    color: var(--home-text) !important;
}

html[data-theme="dark"] .frm_input::placeholder,
html[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] input::placeholder {
    color: var(--home-muted) !important;
}

/* ========== 홈 랜딩(index) ========== */
html[data-theme="dark"] .home-band,
html[data-theme="dark"] .home-light,
html[data-theme="dark"] .home-media,
html[data-theme="dark"] .home-cta,
html[data-theme="dark"] .home-gates,
html[data-theme="dark"] .home-intro-grid {
    background: var(--home-bg) !important;
    color: var(--home-text);
}

html[data-theme="dark"] .home-media-tabs button {
    background: #1f2937;
    border-color: #374151;
    color: #e5e7eb;
}

html[data-theme="dark"] .home-media-tabs button:hover,
html[data-theme="dark"] .home-media-tabs button:focus {
    border-color: #cf9d47;
    color: #fff;
}

html[data-theme="dark"] .home-media-tabs button.is-on {
    background: #b49480;
    border-color: #b49480;
    color: #fff !important;
}

html[data-theme="dark"] .home-media-frame {
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .home-kicker {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .home-title,
html[data-theme="dark"] .home-title .gold {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .home-title .gold {
    color: var(--home-accent) !important;
}

html[data-theme="dark"] .home-lead {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .soon-card,
html[data-theme="dark"] .home-stat,
html[data-theme="dark"] .home-gate,
html[data-theme="dark"] .home-gate-card,
html[data-theme="dark"] .home-intro-card {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
    color: var(--home-text);
}

html[data-theme="dark"] .home-stat strong,
html[data-theme="dark"] .home-stat span {
    color: #fff !important;
}

html[data-theme="dark"] .home-gate p,
html[data-theme="dark"] .soon-card p {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .soon-card h3,
html[data-theme="dark"] .home-cta h2,
html[data-theme="dark"] .home-cta h3,
html[data-theme="dark"] .home-gate h3 {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .home-cta p {
    color: var(--home-muted) !important;
}

/* outline 버튼: 다크 배경에서 보이도록 밝은 파랑 */
html[data-theme="dark"] .btn-outline-primary {
    color: #6ea8fe !important;
    border-color: #6ea8fe !important;
    background-color: transparent !important;
}

html[data-theme="dark"] .btn-outline-primary:hover,
html[data-theme="dark"] .btn-outline-primary:focus {
    color: #0b1220 !important;
    background-color: #6ea8fe !important;
    border-color: #6ea8fe !important;
}

/* ========== 프리미엄 ========== */
html[data-theme="dark"] .pre-wrap {
    background: var(--home-bg) !important;
    color: var(--home-text-2) !important;
}

html[data-theme="dark"] .pre-kicker,
html[data-theme="dark"] .pre-label {
    color: var(--bs-primary) !important;
    background: transparent;
}

html[data-theme="dark"] .pre-title {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .pre-lead,
html[data-theme="dark"] .pre-body p {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .pre-card,
html[data-theme="dark"] .pre-media,
html[data-theme="dark"] .pre-label {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
}

html[data-theme="dark"] .pre-card:hover {
    border-color: var(--home-border-strong) !important;
    box-shadow: var(--home-shadow-lg);
}

html[data-theme="dark"] .pre-body h3,
html[data-theme="dark"] .pre-body strong {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .pre-cta .btn-primary {
    background: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #0b1220 !important;
}

/* ========== 사업개요 ========== */
html[data-theme="dark"] .biz-wrap {
    background: var(--home-bg) !important;
    color: var(--home-text) !important;
}

html[data-theme="dark"] .biz-kicker,
html[data-theme="dark"] .biz-label,
html[data-theme="dark"] .biz-overview h5,
html[data-theme="dark"] .biz-dl dt,
html[data-theme="dark"] .biz-type em,
html[data-theme="dark"] .biz-overview .biz-points i {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .biz-title,
html[data-theme="dark"] .biz-hero .biz-title,
html[data-theme="dark"] .biz-overview h1,
html[data-theme="dark"] .biz-panel h3,
html[data-theme="dark"] .biz-head h3,
html[data-theme="dark"] .biz-card h3,
html[data-theme="dark"] .biz-section h3,
html[data-theme="dark"] .biz-stat strong,
html[data-theme="dark"] .biz-type strong {
    color: #f3f4f6 !important;
}

html[data-theme="dark"] .biz-lead,
html[data-theme="dark"] .biz-hero .biz-lead,
html[data-theme="dark"] .biz-intro,
html[data-theme="dark"] .biz-note,
html[data-theme="dark"] .biz-card p,
html[data-theme="dark"] .biz-stat span,
html[data-theme="dark"] .biz-type p,
html[data-theme="dark"] .biz-overview p,
html[data-theme="dark"] .overview-note {
    color: #cbd5e1 !important;
}

html[data-theme="dark"] .biz-card,
html[data-theme="dark"] .biz-panel,
html[data-theme="dark"] .biz-table,
html[data-theme="dark"] .biz-info,
html[data-theme="dark"] .biz-box {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    color: var(--home-text) !important;
    box-shadow: var(--home-shadow);
}

html[data-theme="dark"] .biz-stat,
html[data-theme="dark"] .biz-type {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    color: var(--home-text) !important;
}

html[data-theme="dark"] .biz-dl dt,
html[data-theme="dark"] .biz-dl dd {
    border-bottom-color: var(--home-border) !important;
    color: #e5e7eb !important;
}

html[data-theme="dark"] .biz-dl dt {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .biz-parking th,
html[data-theme="dark"] .biz-parking td {
    border-bottom-color: var(--home-border) !important;
}

html[data-theme="dark"] .biz-parking tbody th {
    background: transparent !important;
    color: #f3f4f6 !important;
}

html[data-theme="dark"] .biz-parking td {
    color: #e5e7eb !important;
}

html[data-theme="dark"] .biz-parking .is-total {
    color: #f3f4f6 !important;
}

html[data-theme="dark"] .biz-parking .is-accent {
    color: #f87171 !important;
}

html[data-theme="dark"] .biz-dl dd {
    color: #e5e7eb !important;
}

html[data-theme="dark"] .biz-overview .biz-points p {
    color: #e5e7eb !important;
}

html[data-theme="dark"] .overview-table {
    border-top-color: var(--bs-primary) !important;
}

html[data-theme="dark"] .overview-table th,
html[data-theme="dark"] .overview-table td {
    border-bottom-color: var(--home-border) !important;
}

html[data-theme="dark"] .overview-table th {
    background: var(--home-bg-muted) !important;
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .overview-table td {
    color: #e5e7eb !important;
}

html[data-theme="dark"] .biz-table th,
html[data-theme="dark"] .biz-table td,
html[data-theme="dark"] table th,
html[data-theme="dark"] table td {
    border-color: var(--home-border) !important;
    color: #e5e7eb !important;
}

html[data-theme="dark"] .biz-table th,
html[data-theme="dark"] thead th {
    background: var(--home-bg-muted) !important;
    color: var(--bs-primary) !important;
}

/* ========== 입지환경 ========== */
html[data-theme="dark"] .loc-wrap {
    background: var(--home-bg) !important;
    color: var(--home-text) !important;
}

html[data-theme="dark"] .loc-kicker,
html[data-theme="dark"] .loc-label,
html[data-theme="dark"] .loc-num,
html[data-theme="dark"] .loc-chip {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .loc-chip {
    background: rgba(110, 168, 254, 0.12) !important;
    border-color: rgba(110, 168, 254, 0.28) !important;
}

html[data-theme="dark"] .loc-title,
html[data-theme="dark"] .loc-head h3,
html[data-theme="dark"] .loc-card h3,
html[data-theme="dark"] .loc-stat strong,
html[data-theme="dark"] .loc-transit-title {
    color: #f3f4f6 !important;
}

html[data-theme="dark"] .loc-lead,
html[data-theme="dark"] .loc-intro,
html[data-theme="dark"] .loc-note,
html[data-theme="dark"] .loc-card p,
html[data-theme="dark"] .loc-stat span {
    color: #cbd5e1 !important;
}

html[data-theme="dark"] .loc-stat,
html[data-theme="dark"] .loc-card,
html[data-theme="dark"] .loc-panel,
html[data-theme="dark"] .loc-map,
html[data-theme="dark"] .loc-box,
html[data-theme="dark"] .loc-transit {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
    color: #e5e7eb !important;
}

html[data-theme="dark"] .loc-card:hover {
    background: var(--home-bg-muted) !important;
    border-color: rgba(110, 168, 254, 0.35) !important;
}

html[data-theme="dark"] .loc-transit .station,
html[data-theme="dark"] .loc-transit .terminal {
    color: #e5e7eb !important;
}

html[data-theme="dark"] .loc-transit .terminal {
    background: #0f172a !important;
    color: var(--line) !important;
}

html[data-theme="dark"] .loc-transit .station::before,
html[data-theme="dark"] .loc-transit .leg {
    background: #1f2937 !important;
}

html[data-theme="dark"] .loc-transit .station.exchange::before {
    box-shadow: inset 0 0 0 4px #1f2937 !important;
    background: var(--exchange, #d6e87a) !important;
}

html[data-theme="dark"] .loc-transit .leg {
    color: var(--line) !important;
}

html[data-theme="dark"] .loc-transit .leg small {
    color: #94a3b8 !important;
}

html[data-theme="dark"] .loc-tabs a,
html[data-theme="dark"] .loc-tab {
    color: var(--home-muted);
    border-color: var(--home-border);
}

html[data-theme="dark"] .loc-tabs a.on,
html[data-theme="dark"] .loc-tabs a.is-on,
html[data-theme="dark"] .loc-tab.is-on,
html[data-theme="dark"] .loc-tab.active {
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary);
}

/* ========== 단지안내 ========== */
html[data-theme="dark"] .danji-wrap {
    background: var(--home-bg) !important;
    color: var(--home-text);
}

html[data-theme="dark"] .danji-kicker,
html[data-theme="dark"] .danji-head-kicker,
html[data-theme="dark"] .danji-label {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .danji-title,
html[data-theme="dark"] .danji-head h3,
html[data-theme="dark"] .danji-card h3 {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .danji-lead,
html[data-theme="dark"] .danji-intro,
html[data-theme="dark"] .danji-note {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .danji-card,
html[data-theme="dark"] .danji-full,
html[data-theme="dark"] .danji-media {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
}

html[data-theme="dark"] .danji-tabs,
html[data-theme="dark"] .danji-tab {
    color: var(--home-muted);
    border-color: var(--home-border);
    background: transparent;
}

html[data-theme="dark"] .danji-tab.is-on,
html[data-theme="dark"] .danji-tab.active {
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary);
}

/* ========== 세대안내 ========== */
html[data-theme="dark"] .sedae-wrap {
    background: var(--home-bg) !important;
    color: var(--home-text);
}

html[data-theme="dark"] .sedae-kicker,
html[data-theme="dark"] .sedae-label {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .sedae-title,
html[data-theme="dark"] .sedae-section h3 {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .sedae-lead,
html[data-theme="dark"] .sedae-note {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .sedae-section,
html[data-theme="dark"] .sedae-card,
html[data-theme="dark"] .sedae-media {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
}

html[data-theme="dark"] .sedae-tabs,
html[data-theme="dark"] .sedae-tab {
    color: var(--home-muted);
    border-color: var(--home-border);
    background: transparent;
}

html[data-theme="dark"] .sedae-tab.is-on,
html[data-theme="dark"] .sedae-tab.active {
    color: #fff !important;
    background: var(--bs-primary) !important;
    border-color: var(--bs-primary);
}

html[data-theme="dark"] .unit-card {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
}

html[data-theme="dark"] .unit-summary {
    border-bottom-color: var(--home-border) !important;
}

html[data-theme="dark"] .unit-area {
    background: transparent;
    color: var(--home-text);
}

html[data-theme="dark"] .unit-area h4 {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .unit-area dl div {
    border-bottom-color: var(--home-border) !important;
}

html[data-theme="dark"] .unit-area dt {
    color: var(--home-text-2) !important;
}

html[data-theme="dark"] .unit-area dd {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .unit-plan {
    background: #fff !important;
    border-top: 1px solid var(--home-border);
}

html[data-theme="dark"] .unit-plan figcaption {
    color: var(--home-muted) !important;
}

/* ========== 관심고객등록(visit) ========== */
html[data-theme="dark"] .visit-wrap {
    background: var(--home-bg) !important;
    color: var(--home-text);
}

html[data-theme="dark"] .visit-wrap h2,
html[data-theme="dark"] .visit-wrap h3,
html[data-theme="dark"] .visit-title {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .visit-wrap p,
html[data-theme="dark"] .visit-lead,
html[data-theme="dark"] .visit-note {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .visit-meta article {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
}

html[data-theme="dark"] .visit-meta strong {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .visit-meta span {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .visit-meta a {
    color: var(--bs-primary) !important;
}

html[data-theme="dark"] .sujain-form-container {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
    color: var(--home-text);
}

html[data-theme="dark"] .sujain-form-container .form-desc {
    background: rgba(232, 206, 145, 0.12) !important;
    color: var(--home-text-2) !important;
}

html[data-theme="dark"] .sujain-form-container .form-desc b {
    color: var(--home-accent) !important;
}

html[data-theme="dark"] .lp-origin {
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .lp-origin strong {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .visit-wrap .lp-input,
html[data-theme="dark"] .visit-wrap .form-control,
html[data-theme="dark"] .visit-wrap .form-select,
html[data-theme="dark"] .visit-wrap input.lp-input,
html[data-theme="dark"] .visit-wrap textarea.lp-input,
html[data-theme="dark"] .visit-wrap select {
    background: var(--home-input-bg) !important;
    border-color: var(--home-input-border) !important;
    color: var(--home-text) !important;
}

html[data-theme="dark"] .visit-wrap .lp-input::placeholder,
html[data-theme="dark"] .visit-wrap textarea.lp-input::placeholder {
    color: var(--home-muted) !important;
    opacity: 1;
}

html[data-theme="dark"] .visit-wrap .lp-input:focus {
    border-color: var(--home-accent) !important;
    box-shadow: 0 0 0 3px rgba(232, 206, 145, 0.22) !important;
}

html[data-theme="dark"] .lp-unit-chip span {
    background: var(--home-bg-muted) !important;
    border-color: var(--home-border) !important;
    color: var(--home-text-2) !important;
}

html[data-theme="dark"] .lp-unit-chip input:checked + span {
    background: #d4af37 !important;
    border-color: #d4af37 !important;
    color: #fff !important;
}

html[data-theme="dark"] .lp-privacy {
    background: var(--home-bg-muted) !important;
    border-color: var(--home-border) !important;
}

html[data-theme="dark"] .lp-privacy > label {
    color: var(--home-text) !important;
}

html[data-theme="dark"] .lp-privacy-text {
    background: var(--home-input-bg) !important;
    border-color: var(--home-input-border) !important;
    color: var(--home-muted) !important;
}

html[data-theme="dark"] .lp-flash-ok {
    background: rgba(16, 185, 129, 0.15) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .lp-flash-err {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .visit-card,
html[data-theme="dark"] .visit-box,
html[data-theme="dark"] .visit-panel {
    background: var(--home-surface) !important;
    border-color: var(--home-border) !important;
    box-shadow: var(--home-shadow);
}

/* ========== 푸터 / 카피: 다크모드 미적용 (원본 유지) ========== */
html[data-theme="dark"] .footer {
    background: #14141f !important;
}

html[data-theme="dark"] .footer .footer-item h4,
html[data-theme="dark"] .footer h4 {
    color: #fff !important;
}

html[data-theme="dark"] .footer .footer-item a,
html[data-theme="dark"] .footer a {
    color: #fff !important;
}

html[data-theme="dark"] .footer .footer-item a:hover,
html[data-theme="dark"] .footer a:hover {
    color: #cf9d47 !important;
}

html[data-theme="dark"] .copyright {
    background: #14141f !important;
    color: inherit !important;
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .copyright,
html[data-theme="dark"] .copyright a,
html[data-theme="dark"] .copyright .text-white,
html[data-theme="dark"] .copyright .text-body {
    color: #fff !important;
}

/* ========== 유틸 / 카드 일반 ========== */
html[data-theme="dark"] .card {
    background: var(--home-surface);
    border-color: var(--home-border);
    color: var(--home-text);
}

html[data-theme="dark"] .modal-content {
    background: var(--home-surface);
    color: var(--home-text);
    border-color: var(--home-border);
}

html[data-theme="dark"] .list-group-item {
    background: var(--home-surface);
    border-color: var(--home-border);
    color: var(--home-text);
}

html[data-theme="dark"] .dropdown-menu {
    background: var(--home-surface);
    border-color: var(--home-border);
}

html[data-theme="dark"] .dropdown-item {
    color: var(--home-text);
}

html[data-theme="dark"] .dropdown-item:hover,
html[data-theme="dark"] .dropdown-item:focus {
    background: var(--home-bg-muted);
    color: var(--home-accent);
}

html[data-theme="dark"] .home-auth-bar .dropdown > .dropdown-item {
    color: #fff !important;
    background: transparent;
}

html[data-theme="dark"] .home-auth-bar .dropdown > .dropdown-item:hover {
    color: #fff !important;
    background: transparent;
}

/* 라이트 모드는 기본 템플릿 스타일 유지 — 변수만 정의해 스킨 호환 */
html:not([data-theme="dark"]) body {
    color-scheme: light;
}

/* ========== 이미지 shine (hover / 스크롤 진입) ========== */
.home-shine {
    position: relative;
    display: block;
    overflow: hidden;
}

.home-shine::before {
    position: absolute;
    top: 0;
    left: -100%;
    z-index: 2;
    display: block;
    content: "";
    width: 50%;
    height: 100%;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.3) 100%
    );
    transform: skewX(-25deg);
    pointer-events: none;
}

.home-shine:hover::before,
.home-shine.is-shining::before {
    animation: home-shine-sweep 0.75s ease;
}

@keyframes home-shine-sweep {
    100% {
        left: 125%;
    }
}

.home-shine > img {
    display: block;
    width: 100%;
    max-width: 100%;
}

/* ========== 본문 강조 포인트 (네이비·골드) ========== */
.hl-strong {
    font-weight: 800;
    color: #13357b;
}

.hl-mark {
    font-weight: 700;
    color: #14141F;
    padding: 0 2px;
    background: linear-gradient(transparent 58%, rgba(236, 212, 138, 0.85) 0);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.hl-line {
    font-weight: 700;
    color: #14141F;
    text-decoration: underline;
    text-decoration-color: #c9a227;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.hl-gold {
    font-weight: 800;
    color: #9a7718;
    background: linear-gradient(100deg, #c9a227 0%, #85650e 55%, #b8902f 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hl-accent {
    font-weight: 800;
    color: #d6262b;
}

.hl-badge {
    display: inline-block;
    padding: 1px 10px 2px;
    border-radius: 999px;
    background: #13357b;
    color: #fff;
    font-weight: 700;
    line-height: 1.5;
}

.hl-badge.is-red {
    background: #d6262b;
}

.hl-badge.is-gold {
    background: linear-gradient(135deg, #f0dca0 0%, #d0aa4e 55%, #c9a227 100%);
    color: #081b33;
    box-shadow: 0 2px 8px rgba(201, 162, 39, 0.35);
}

html[data-theme="dark"] .hl-strong {
    color: #8ec5ff !important;
}

html[data-theme="dark"] .hl-mark {
    color: #fff !important;
    background: linear-gradient(transparent 58%, rgba(208, 170, 78, 0.45) 0);
}

html[data-theme="dark"] .hl-line {
    color: #fff !important;
    text-decoration-color: #d0aa4e;
}

html[data-theme="dark"] .hl-gold {
    color: #ecd48a !important;
    background: linear-gradient(100deg, #f0dca0 0%, #d0aa4e 50%, #f4e7c8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

html[data-theme="dark"] .hl-accent {
    color: #ff8a80 !important;
}

html[data-theme="dark"] .hl-badge {
    background: #6ea8fe;
    color: #0b1220 !important;
}

html[data-theme="dark"] .hl-badge.is-red {
    background: #ff7a7a;
    color: #1a0606 !important;
}

html[data-theme="dark"] .hl-badge.is-gold {
    background: linear-gradient(135deg, #f0dca0 0%, #d0aa4e 55%, #c9a227 100%);
    color: #081b33 !important;
}