/* ==========================================================
   KimJang Realty — kimjang.css  v2.1  (2026-06-27)
   Design: Daangn (당근마켓) inspired
   ========================================================== */

/* ── 디자인 토큰 (여기만 수정하면 전체 색상 변경) ── */
:root {
    --kj-orange:       #FF6F0F;
    --kj-orange-dark:  #E55A00;
    --kj-orange-light: #FFF3EB;
    --kj-orange-mid:   #FFE0C8;
    --kj-text:         #1D1D1D;
    --kj-text-sub:     #6B6B6B;
    --kj-text-muted:   #ADADAD;
    --kj-bg:           #FFFFFF;
    --kj-bg-gray:      #F6F6F6;
    --kj-bg-orange:    #FFF8F3;
    --kj-border:       #EBEBEB;
    --kj-border-dark:  #D4D4D4;
    --kj-kakao:        #FEE500;
    --kj-kakao-text:   #191919;
    --kj-radius-lg:    16px;
    --kj-radius:       12px;
    --kj-radius-sm:    8px;
    --kj-radius-pill:  999px;
    --kj-shadow-sm:    0 1px 4px rgba(0,0,0,0.06);
    --kj-shadow:       0 2px 12px rgba(0,0,0,0.08);
    --kj-shadow-hover: 0 6px 24px rgba(0,0,0,0.12);
    --kj-font-ko: 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif;
    --kj-font-en: 'Inter', 'Helvetica Neue', sans-serif;
    --kj-trans: 0.2s ease;
    --kj-ad-left: 190px;
    --kj-sidebar: 280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px !important; }
body { font-family: var(--kj-font-en); color: var(--kj-text); background: var(--kj-bg); margin: 0; font-size: 1rem; }
body.lang-ko { font-family: var(--kj-font-ko); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

/* ── 언어 전환 바 (헤더 위) ── */
.kj-lang-bar { background: #1a3a5c !important; padding: 5px 0 !important; display: block !important; width: 100% !important; }
.kj-lang-bar .kj-container { display: flex !important; justify-content: flex-end !important; }
.kj-lang-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: row !important; gap: 2px; align-items: center; }
.kj-lang-list li { list-style: none !important; list-style-type: none !important; }
.kj-lang-list .lang-item a {
    color: rgba(255,255,255,0.65);
    font-size: 0.78rem;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.2s;
    text-decoration: none;
}
.kj-lang-list .lang-item a:hover,
.kj-lang-list .lang-item.current-lang a {
    color: #fff;
    background: rgba(255,255,255,0.18);
}
.kj-lang-list .lang-item.current-lang a { font-weight: 800; }
/* 언어 국기 이미지 크기 */
.kj-lang-list img { display: inline; width: 16px; height: auto; vertical-align: middle; }

/* ── footer RE/MAX TwinCity 임시 숨김 (Appearance→Widgets에서 삭제 필요) ── */
#footer-widgets img[src*="remax" i],
#footer-widgets img[src*="twincity" i],
#footer-widgets img[alt*="RE/MAX" i],
#footer-widgets img[alt*="TwinCity" i],
.site-footer img[src*="remax" i],
.site-footer img[src*="twincity" i] { display: none !important; }

/* ── OceanWP 헤더 로고 크기 제한 (강제) ── */
#site-logo img,
#site-logo .custom-logo,
.site-logo img,
.site-header img,
.site-header .custom-logo,
.site-header .custom-logo-link img,
header#site-header img,
.oceanwp-logo img,
a.site-logo-link img,
a.custom-logo-link img {
    max-height: 60px !important;
    max-width: 180px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* ── OceanWP 헤더 전체 높이 조정 ── */
#site-header { padding: 0 !important; position: relative !important; }
#site-header .container { min-height: 72px; display: flex; align-items: center; }
/* 헤더가 콘텐츠 위에 겹치지 않도록 (투명헤더 모드 비활성화) */
.page-template-template-ko-home #site-header,
.page-template-template-en-home #site-header,
.page-template-template-zh-home #site-header { position: relative !important; z-index: 100; }

/* ── 페이지 타이틀 영역 숨김 (우리 템플릿에서는 page header 필요없음) ── */
.page-header.entry-header,
.ocean-page-header { display: none !important; }

.kj-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.kj-section { padding: 64px 0; }
.kj-section--gray { background: var(--kj-bg-gray); }
.kj-section__header { text-align: center; margin-bottom: 48px; }
.kj-section__header h2 { font-size: clamp(1.75rem,2.8vw,2.4rem); font-weight: 800; color: var(--kj-text); margin-bottom: 8px; }
.kj-section__header p { font-size: 1.05rem; color: var(--kj-text-sub); }

/* BUTTONS */
.kj-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 24px; border-radius:var(--kj-radius-pill); font-weight:700; font-size:0.95rem; cursor:pointer; transition:all var(--kj-trans); text-decoration:none; border:none; font-family:inherit; line-height:1.3; }
.kj-btn--primary { background:var(--kj-orange); color:#fff; }
.kj-btn--primary:hover { background:var(--kj-orange-dark); transform:translateY(-1px); color:#fff; }
.kj-btn--outline { background:transparent; color:var(--kj-orange); border:2px solid var(--kj-orange); }
.kj-btn--outline:hover { background:var(--kj-orange); color:#fff; }
.kj-btn--ghost { background:rgba(255,255,255,0.18); color:#fff; border:2px solid rgba(255,255,255,0.5); }
.kj-btn--ghost:hover { background:rgba(255,255,255,0.28); color:#fff; }
.kj-btn--kakao { background:var(--kj-kakao); color:var(--kj-kakao-text); font-weight:800; }
.kj-btn--kakao:hover { background:#f0d800; color:var(--kj-kakao-text); transform:translateY(-1px); }
.kj-btn--whatsapp { background:#25D366; color:#fff; font-weight:800; }
.kj-btn--whatsapp:hover { background:#1ebe5b; color:#fff; transform:translateY(-1px); }
.kj-btn--sm { padding:9px 18px; font-size:0.85rem; }
.kj-btn--full { width:100%; }

/* CARDS */
.kj-card { background:var(--kj-bg); border-radius:var(--kj-radius); border:1px solid var(--kj-border); transition:box-shadow var(--kj-trans),transform var(--kj-trans); }
.kj-card:hover { box-shadow:var(--kj-shadow-hover); transform:translateY(-2px); }

/* HERO (영문, compact) */
.kj-hero { background:var(--kj-orange); padding:60px 0 48px; overflow:hidden; position:relative; }
.kj-hero::before { content:''; position:absolute; right:-80px; top:-80px; width:480px; height:480px; background:rgba(255,255,255,0.08); border-radius:50%; pointer-events:none; }
.kj-hero__inner { display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; }
.kj-hero__eyebrow { display:inline-block; background:rgba(255,255,255,0.22); color:#fff; font-size:0.78rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:5px 14px; border-radius:var(--kj-radius-pill); margin-bottom:16px; }
.kj-hero__title { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:900; color:#fff; line-height:1.2; margin-bottom:14px; }
.kj-hero__sub { font-size:1.05rem; color:rgba(255,255,255,0.88); line-height:1.65; margin-bottom:32px; }
.kj-hero__cta { display:flex; flex-wrap:wrap; gap:12px; }
.kj-hero__image { width:260px; flex-shrink:0; border-radius:var(--kj-radius-lg); overflow:hidden; box-shadow:0 12px 40px rgba(0,0,0,0.2); }
.kj-hero__image img { width:100%; height:320px; object-fit:cover; }

/* STATS / TRUST BAR */
.kj-stats { background:var(--kj-bg); border-bottom:1px solid var(--kj-border); padding:24px 0; }
.kj-stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; text-align:center; }
.kj-stats__grid--4 { grid-template-columns:repeat(4,1fr); }
.kj-stats__item { padding:10px 16px; border-right:1px solid var(--kj-border); }
.kj-stats__item:last-child { border-right:none; }
.kj-stats__num { display:block; font-size:2.2rem; font-weight:900; color:var(--kj-orange); line-height:1.1; }
.kj-stats__badge { display:block; font-size:1.8rem; line-height:1.2; }
.kj-stats__label { display:block; font-size:0.82rem; color:var(--kj-text-sub); margin-top:4px; line-height:1.4; }
.kj-stats__label small { display:block; font-size:0.72rem; color:var(--kj-text-muted); }

/* TEAM */
.kj-team__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.kj-team__card { display:flex; gap:20px; padding:28px; align-items:flex-start; }
.kj-team__photo { flex-shrink:0; width:130px; height:160px; border-radius:var(--kj-radius); overflow:hidden; border:3px solid var(--kj-orange-mid); background:var(--kj-bg-gray); }
.kj-team__photo img { width:100%; height:100%; object-fit:contain; object-position: center top; }
.kj-team__info h3 { font-size:1.35rem; font-weight:800; color:var(--kj-text); margin-bottom:2px; }
.kj-team__role { font-size:0.82rem; font-weight:700; letter-spacing:0.06em; color:var(--kj-orange); text-transform:uppercase; margin-bottom:10px; display:block; }
.kj-team__bio { font-size:0.97rem; color:var(--kj-text-sub); line-height:1.7; margin-bottom:14px; }
.kj-team__contact { display:flex; flex-direction:column; gap:4px; }
.kj-team__contact a { font-size:0.95rem; color:var(--kj-text); font-weight:500; }
.kj-team__contact a:hover { color:var(--kj-orange); }

/* SERVICES */
.kj-services__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.kj-service__card { padding:28px 24px; }
.kj-service__icon { width:52px; height:52px; background:var(--kj-orange-light); border-radius:var(--kj-radius); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:16px; }
.kj-service__card h3 { font-size:1.1rem; font-weight:800; color:var(--kj-text); margin-bottom:8px; }
.kj-service__card p { font-size:0.95rem; color:var(--kj-text-sub); line-height:1.7; margin:0; }

/* FEATURES */
.kj-features__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.kj-feature__item { text-align:center; padding:28px 16px; }
.kj-feature__icon { width:60px; height:60px; margin:0 auto 16px; background:var(--kj-orange-light); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
.kj-feature__item h3 { font-size:1.05rem; font-weight:800; color:var(--kj-text); margin-bottom:8px; }
.kj-feature__item p { font-size:0.93rem; color:var(--kj-text-sub); line-height:1.65; margin:0; }

/* AREAS */
.kj-areas__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.kj-area__card { padding:18px 14px; text-align:center; border-radius:var(--kj-radius); background:var(--kj-bg); border:1.5px solid var(--kj-border); transition:all var(--kj-trans); }
.kj-area__card:hover { border-color:var(--kj-orange); background:var(--kj-orange-light); }
.kj-area__name { display:block; font-weight:800; font-size:1rem; color:var(--kj-text); }
.kj-area__note { display:block; font-size:0.82rem; color:var(--kj-text-muted); margin-top:4px; line-height:1.4; }

/* CONTACT (영문) */
.kj-contact { background:var(--kj-bg-orange); }
.kj-contact__grid { display:grid; grid-template-columns:1fr 380px; gap:56px; align-items:start; }
.kj-contact__form h3 { font-size:1.15rem; font-weight:800; margin-bottom:16px; }
.kj-contact__info h3 { font-size:1.15rem; font-weight:800; margin-bottom:20px; color:var(--kj-orange); }
.kj-contact__item { margin-bottom:18px; }
.kj-contact__label { display:block; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--kj-text-muted); margin-bottom:4px; }
.kj-contact__item a, .kj-contact__item address { color:var(--kj-text); font-size:0.95rem; font-style:normal; line-height:1.5; }
.kj-contact__item a:hover { color:var(--kj-orange); }
.kj-contact__hours { background:#fff; border-radius:var(--kj-radius); padding:14px 18px; margin:18px 0; font-size:0.88rem; line-height:1.65; border:1px solid var(--kj-border); }
.kj-contact__hours strong { display:block; color:var(--kj-orange); margin-bottom:4px; font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; }
.kj-contact__ko-link { margin-top:14px; text-align:center; }
.kj-contact__ko-link a { color:var(--kj-text-muted); font-size:0.82rem; text-decoration:underline; }
.kj-contact__ko-link a:hover { color:var(--kj-orange); }

/* FLOATING CTA */
.kj-floating-cta { position:fixed; bottom:0; left:0; right:0; z-index:9999; display:flex; background:#fff; box-shadow:0 -2px 16px rgba(0,0,0,0.1); border-top:1px solid var(--kj-border); transform:translateY(100%); transition:transform 0.3s ease; }
.kj-floating-cta.is-visible { transform:translateY(0); }
.kj-fab { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:10px 6px; text-decoration:none; font-size:0.68rem; font-weight:700; transition:background var(--kj-trans); border-right:1px solid var(--kj-border); }
.kj-fab:last-child { border-right:none; }
.kj-fab--phone { color:var(--kj-text); }
.kj-fab--phone:hover { background:var(--kj-bg-gray); }
.kj-fab--kakao { color:var(--kj-kakao-text); background:var(--kj-kakao); }
.kj-fab--kakao:hover { background:#f0d800; }
.kj-fab--whatsapp { color:#fff; background:#25D366; }
.kj-fab--whatsapp:hover { background:#1ebe5b; }
.kj-fab--contact { color:var(--kj-orange); }
.kj-fab--contact:hover { background:var(--kj-orange-light); }
.kj-toast { position:fixed; bottom:80px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--kj-text); color:#fff; padding:12px 24px; border-radius:var(--kj-radius-pill); font-size:0.9rem; font-weight:600; opacity:0; transition:all 0.3s ease; z-index:10000; white-space:nowrap; }
.kj-toast--show { opacity:1; transform:translateX(-50%) translateY(0); }

/* 3단 레이아웃 */
.kj-blog-layout { display:grid; grid-template-columns:var(--kj-ad-left) 1fr var(--kj-sidebar); gap:24px; max-width:1240px; margin:0 auto; padding:32px 16px 64px; align-items:start; }
.kj-ad-col { position:sticky; top:80px; }
.kj-ad-slot { width:160px; min-height:240px; background:var(--kj-bg-gray); border:1.5px dashed var(--kj-border-dark); border-radius:var(--kj-radius-sm); display:flex; align-items:center; justify-content:center; color:var(--kj-text-muted); font-size:0.72rem; text-align:center; margin-bottom:16px; padding:12px; overflow:hidden; }
.kj-ad-slot img { width:100%; height:auto; border-radius:var(--kj-radius-sm); }
.kj-ad-slot--tall { min-height:600px; }

/* ── 좌측 팀 소개 카드 (광고 슬롯 대체) ── */
.kj-team-col { display:flex; flex-direction:column; gap:12px; }
.kj-team-mini__title { font-size:0.7rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:var(--kj-text-muted); padding-bottom:6px; border-bottom:2px solid var(--kj-orange); }
.kj-team-mini__card { background:#fff; border:1px solid var(--kj-border); border-radius:var(--kj-radius); padding:14px 12px; display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.kj-team-mini__photo { width:80px; height:80px; border-radius:50%; overflow:hidden; background:var(--kj-bg-gray); border:2px solid var(--kj-orange-mid); flex-shrink:0; }
.kj-team-mini__photo img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.kj-team-mini__info { display:flex; flex-direction:column; gap:3px; }
.kj-team-mini__info strong { font-size:0.85rem; font-weight:800; color:var(--kj-text); }
.kj-team-mini__role { font-size:0.72rem; color:var(--kj-text-sub); font-family:var(--kj-font-ko); line-height:1.4; }
.kj-team-mini__phone { font-size:0.72rem; font-weight:700; color:var(--kj-orange); text-decoration:none; display:block; margin-top:4px; }
.kj-team-mini__phone:hover { text-decoration:underline; }
.kj-team-mini__award { background:linear-gradient(135deg,#2d1b6e,#4a2a8f); border-radius:var(--kj-radius); padding:14px 10px; text-align:center; color:#fff; display:flex; align-items:center; gap:8px; }
.kj-team-mini__award-icon { font-size:1.4rem; flex-shrink:0; }
.kj-team-mini__award span:last-child { font-size:0.72rem; font-weight:800; line-height:1.4; }
.kj-team-mini__cta { display:block; background:var(--kj-orange); color:#fff; border-radius:var(--kj-radius); padding:12px 10px; text-align:center; text-decoration:none; font-size:0.8rem; font-weight:800; font-family:var(--kj-font-ko); line-height:1.4; transition:background var(--kj-trans); }
.kj-team-mini__cta:hover { background:var(--kj-orange-dark); color:#fff; }

/* 우측 사이드바 */
.kj-sidebar { position:sticky; top:80px; }
.kj-sidebar__block { background:var(--kj-bg); border:1px solid var(--kj-border); border-radius:var(--kj-radius); padding:20px; margin-bottom:16px; }
.kj-sidebar__title { font-size:0.78rem; font-weight:800; color:var(--kj-text); text-transform:uppercase; letter-spacing:0.07em; margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--kj-orange); display:inline-block; }
.kj-sidebar__kakao { background:var(--kj-kakao); border-color:var(--kj-kakao); text-align:center; padding:20px 16px; }
.kj-sidebar__kakao p { font-family:var(--kj-font-ko); font-size:0.85rem; font-weight:700; color:var(--kj-kakao-text); margin-bottom:12px; line-height:1.5; }
.kj-sidebar__contact-list { list-style:none; padding:0; margin:0; }
.kj-sidebar__contact-list li { margin-bottom:10px; font-size:0.85rem; }
.kj-sidebar__contact-list a { color:var(--kj-text); font-weight:500; }
.kj-sidebar__contact-list a:hover { color:var(--kj-orange); }
.kj-sidebar__contact-list .label { display:block; font-size:0.7rem; color:var(--kj-text-muted); margin-bottom:1px; }
.kj-sidebar__cat-list { list-style:none; padding:0; margin:0; }
.kj-sidebar__cat-list li { display:flex; justify-content:space-between; align-items:center; padding:7px 0; border-bottom:1px solid var(--kj-border); }
.kj-sidebar__cat-list li:last-child { border-bottom:none; }
.kj-sidebar__cat-list a { font-family:var(--kj-font-ko); font-size:0.85rem; color:var(--kj-text); }
.kj-sidebar__cat-list a:hover { color:var(--kj-orange); }
.kj-sidebar__cat-list .count { font-size:0.72rem; color:var(--kj-text-muted); background:var(--kj-bg-gray); padding:1px 7px; border-radius:var(--kj-radius-pill); }
.kj-sidebar__recent { list-style:none; padding:0; margin:0; }
.kj-sidebar__recent li { padding:9px 0; border-bottom:1px solid var(--kj-border); }
.kj-sidebar__recent li:last-child { border-bottom:none; }
.kj-sidebar__recent a { font-family:var(--kj-font-ko); font-size:0.83rem; color:var(--kj-text); line-height:1.4; display:block; }
.kj-sidebar__recent a:hover { color:var(--kj-orange); }
.kj-sidebar__recent .date { font-size:0.7rem; color:var(--kj-text-muted); margin-top:2px; }

/* ── 한글 페이지 빠른 이동 카드 (About / Services / Rent) ── */
.kj-ko-page-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.kj-ko-page-card { display:flex; flex-direction:column; gap:4px; align-items:flex-start; padding:20px 22px; background:#fff; border:1.5px solid var(--kj-border); border-radius:12px; text-decoration:none; color:var(--kj-text); transition:border-color .2s, box-shadow .2s; }
.kj-ko-page-card:hover { border-color:var(--kj-orange); box-shadow:0 4px 16px rgba(255,111,15,.12); color:var(--kj-text); }
.kj-ko-page-card__icon { font-size:1.5rem; margin-bottom:4px; }
.kj-ko-page-card strong { font-size:0.97rem; font-weight:800; font-family:var(--kj-font-ko); }
.kj-ko-page-card span { font-size:0.8rem; color:var(--kj-text-sub); font-family:var(--kj-font-ko); line-height:1.4; }
/* 사이드바 연락처 목록 */
.kj-sidebar__contact-list { list-style:none; padding:0; margin:0; }
.kj-sidebar__contact-list li { padding:8px 0; border-bottom:1px solid var(--kj-border); font-size:0.82rem; display:flex; flex-direction:column; gap:2px; }
.kj-sidebar__contact-list li:last-child { border-bottom:none; }
.kj-sidebar__contact-list .label { font-weight:700; color:var(--kj-text); font-family:var(--kj-font-ko); }
.kj-sidebar__contact-list a { color:var(--kj-orange); text-decoration:none; }
/* 문의 섹션 그리드 */
.kj-contact-ko__grid { display:grid; grid-template-columns:1fr 320px; gap:40px; align-items:start; }
.kj-contact-ko__list { list-style:none; padding:0; margin:0 0 16px; display:flex; flex-direction:column; gap:10px; }
.kj-contact-ko__list li { font-size:0.9rem; }
.kj-contact-ko__list a { color:var(--kj-orange); text-decoration:none; }
.kj-no-posts { padding:40px; text-align:center; color:var(--kj-text-sub); font-family:var(--kj-font-ko); background:var(--kj-bg-gray); border-radius:12px; }
@media (max-width:900px) {
    .kj-contact-ko__grid { grid-template-columns:1fr; }
    .kj-ko-page-cards { grid-template-columns:1fr; gap:10px; }
}

/* ── 카테고리 탭 필터 ── */
.kj-cat-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; padding-bottom:16px; border-bottom:2px solid var(--kj-orange); }
.kj-cat-tab { padding:6px 16px; border-radius:var(--kj-radius-pill); border:1.5px solid var(--kj-border-dark); background:#fff; font-size:0.82rem; font-weight:700; font-family:var(--kj-font-ko); color:var(--kj-text-sub); cursor:pointer; transition:all .2s; }
.kj-cat-tab:hover { border-color:var(--kj-orange); color:var(--kj-orange); }
.kj-cat-tab.is-active { background:var(--kj-orange); border-color:var(--kj-orange); color:#fff; }
/* 카드 필터: 숨김 */
.kj-post-card.is-hidden { display:none; }

/* ── 수상 배너 ── */
.kj-award-banner { background:linear-gradient(135deg,#2d1b6e,#4a2a8f); padding:20px 0; }
.kj-award-banner__inner { display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap; }
.kj-award-banner__title { color:#fff; font-weight:800; font-size:1.05rem; font-family:var(--kj-font-ko); }
.kj-award-banner__sub { color:rgba(255,255,255,0.65); font-size:0.78rem; }
.kj-award-banner__badges { display:flex; gap:16px; }
.kj-award-badge { background:rgba(255,255,255,0.12); border:1.5px solid rgba(255,255,255,0.3); border-radius:8px; padding:10px 16px; text-align:center; min-width:80px; }
.kj-award-badge__year { display:block; font-size:0.68rem; color:rgba(255,255,255,0.7); font-weight:700; letter-spacing:0.05em; }
.kj-award-badge__name { display:block; font-size:0.7rem; color:#fff; font-weight:800; line-height:1.3; margin-top:3px; }

/* ── 한국어 서비스 카드 4개 ── */
.kj-ko-service-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.kj-ko-svc-card { padding:28px 20px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px; text-decoration:none; color:var(--kj-text); }
.kj-ko-svc-card:hover { color:var(--kj-text); }
.kj-ko-svc-card h3 { font-size:1rem; font-weight:800; margin:0; font-family:var(--kj-font-ko); }
.kj-ko-svc-card p { font-size:0.85rem; color:var(--kj-text-sub); line-height:1.6; margin:0; font-family:var(--kj-font-ko); }

/* 한글 HERO (compact) */
.kj-ko-hero { background:var(--kj-orange); padding:36px 0 28px; }
.kj-ko-hero__inner { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.kj-ko-hero__eyebrow { display:block; font-size:0.72rem; font-weight:700; color:rgba(255,255,255,0.75); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:6px; }
.kj-ko-hero__text h1 { font-family:var(--kj-font-ko); font-size:clamp(1.4rem,2.8vw,1.9rem); font-weight:900; color:#fff; margin-bottom:6px; line-height:1.25; }
.kj-ko-hero__text p { font-family:var(--kj-font-ko); color:rgba(255,255,255,0.82); font-size:0.9rem; line-height:1.6; margin:0; }
.kj-ko-hero__cta { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }

/* 구독 배너 */
.kj-subscribe-bar { background:var(--kj-bg-orange); border-bottom:1px solid var(--kj-orange-mid); padding:12px 0; }
.kj-subscribe-bar__inner { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.kj-subscribe-bar span { font-family:var(--kj-font-ko); font-weight:700; color:var(--kj-orange); font-size:0.88rem; }

/* 카테고리 탭 */
.kj-cat-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.kj-cat-tabs__item { padding:7px 16px; border-radius:var(--kj-radius-pill); font-family:var(--kj-font-ko); font-size:0.83rem; font-weight:600; color:var(--kj-text-sub); background:var(--kj-bg); border:1.5px solid var(--kj-border); transition:all var(--kj-trans); text-decoration:none; }
.kj-cat-tabs__item:hover,.kj-cat-tabs__item--active { background:var(--kj-orange); color:#fff; border-color:var(--kj-orange); }

/* 포스트 그리드 */
.kj-post-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:40px; }
.kj-post-card { background:var(--kj-bg); border-radius:var(--kj-radius); border:1px solid var(--kj-border); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow var(--kj-trans),transform var(--kj-trans); }
.kj-post-card:hover { box-shadow:var(--kj-shadow-hover); transform:translateY(-2px); }
.kj-post-card__thumb { display:block; aspect-ratio:16/9; overflow:hidden; }
.kj-post-card__thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.35s ease; }
.kj-post-card:hover .kj-post-card__thumb img { transform:scale(1.04); }
.kj-post-card__thumb-placeholder { width:100%; height:100%; background:linear-gradient(135deg,var(--kj-orange-light),var(--kj-orange-mid)); display:flex; align-items:center; justify-content:center; color:var(--kj-orange); font-size:0.8rem; font-weight:700; }
.kj-post-card__meta { display:flex; align-items:center; gap:8px; padding:14px 16px 0; }
.kj-post-card__cat { font-family:var(--kj-font-ko); font-size:0.7rem; font-weight:700; color:var(--kj-orange); background:var(--kj-orange-light); padding:2px 8px; border-radius:var(--kj-radius-pill); text-decoration:none; }
.kj-post-card__date { font-size:0.72rem; color:var(--kj-text-muted); margin-left:auto; }
.kj-post-card__body { padding:10px 16px; flex:1; }
.kj-post-card__title { font-family:var(--kj-font-ko); font-size:0.98rem; font-weight:800; line-height:1.4; margin-bottom:6px; }
.kj-post-card__title a { color:var(--kj-text); }
.kj-post-card__title a:hover { color:var(--kj-orange); }
.kj-post-card__excerpt { font-family:var(--kj-font-ko); font-size:0.82rem; color:var(--kj-text-sub); line-height:1.6; margin:0; }
.kj-post-card__footer { display:flex; align-items:center; justify-content:space-between; padding:10px 16px 14px; border-top:1px solid var(--kj-border); margin-top:10px; }
.kj-post-card__link { font-size:0.8rem; font-weight:700; color:var(--kj-orange); }
.kj-post-card__link:hover { text-decoration:underline; }

/* 페이지네이션 */
.kj-pagination { display:flex; justify-content:center; gap:6px; }
.kj-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px; border-radius:var(--kj-radius-sm); border:1.5px solid var(--kj-border); background:var(--kj-bg); color:var(--kj-text); font-weight:700; font-size:0.85rem; text-decoration:none; transition:all var(--kj-trans); }
.kj-pagination .page-numbers.current,.kj-pagination .page-numbers:hover { background:var(--kj-orange); border-color:var(--kj-orange); color:#fff; }
.kj-no-posts { text-align:center; padding:60px 24px; color:var(--kj-text-muted); font-family:var(--kj-font-ko); }

/* 하단 문의 (한글) */
.kj-contact-ko { background:var(--kj-bg-gray); }
.kj-contact-ko__grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.kj-contact-ko__text h2 { font-family:var(--kj-font-ko); font-size:clamp(1.4rem,2.5vw,1.9rem); font-weight:900; color:var(--kj-text); margin-bottom:12px; }
.kj-contact-ko__text p { font-family:var(--kj-font-ko); color:var(--kj-text-sub); line-height:1.8; margin-bottom:20px; }
.kj-contact-ko__list { list-style:none; padding:0; margin:0 0 20px; }
.kj-contact-ko__list li { font-family:var(--kj-font-ko); margin-bottom:9px; font-size:0.92rem; }
.kj-contact-ko__list a { color:var(--kj-text); font-weight:600; }
.kj-contact-ko__list a:hover { color:var(--kj-orange); }
.kj-contact-ko__en-link { margin-top:16px; font-size:0.82rem; }
.kj-contact-ko__en-link a { color:var(--kj-text-muted); text-decoration:underline; }

/* 언어 스위처 */
.kj-lang-switcher { display:inline-flex; gap:4px; }
.kj-lang-switcher a { padding:4px 12px; border-radius:var(--kj-radius-pill); font-size:0.8rem; font-weight:700; color:var(--kj-text-sub); background:var(--kj-bg-gray); border:1.5px solid var(--kj-border); transition:all var(--kj-trans); }
.kj-lang-switcher a:hover,.kj-lang-switcher a.current-lang { background:var(--kj-orange); color:#fff; border-color:var(--kj-orange); }

/* RESPONSIVE */
@media (max-width:1100px) {
    .kj-blog-layout { grid-template-columns:1fr var(--kj-sidebar); }
    .kj-ad-col { display:none; }
    .kj-features__grid { grid-template-columns:repeat(2,1fr); }
    .kj-areas__grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px) {
    .kj-hero__inner { grid-template-columns:1fr; }
    .kj-hero__image { display:none; }
    .kj-team__grid { grid-template-columns:1fr; }
    .kj-services__grid { grid-template-columns:repeat(2,1fr); }
    .kj-contact__grid { grid-template-columns:1fr; }
    .kj-contact-ko__grid { grid-template-columns:1fr; }
    .kj-stats__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
    .kj-section { padding:44px 0; }
    .kj-blog-layout { grid-template-columns:1fr; padding:20px 16px 48px; }
    .kj-sidebar { position:static; }
    .kj-post-grid { grid-template-columns:1fr; }
    .kj-features__grid { grid-template-columns:1fr 1fr; }
    .kj-areas__grid { grid-template-columns:repeat(2,1fr); }
    .kj-ko-hero__inner { flex-direction:column; }
    .kj-subscribe-bar__inner { flex-direction:column; text-align:center; }
    .kj-floating-cta { transform:translateY(0) !important; }
    body { padding-bottom:60px; }

    /* ── 모바일 로고 크기 (강제) ── */
    #site-logo img,
    #site-logo .custom-logo,
    .site-logo img,
    .site-header img,
    .site-header .custom-logo,
    .site-header .custom-logo-link img,
    header#site-header img,
    .oceanwp-logo img,
    a.site-logo-link img,
    a.custom-logo-link img {
        max-height: 44px !important;
        max-width: 120px !important;
        width: auto !important;
        height: auto !important;
    }

    /* ── 모바일 폰트 크기 (가독성 우선, px 고정) ── */
    body { font-size: 16px !important; }
    .kj-hero__title  { font-size: 30px !important; line-height: 1.2 !important; }
    .kj-hero__sub    { font-size: 16px !important; line-height: 1.7 !important; }
    .kj-section__header h2 { font-size: 24px !important; }
    .kj-section__header p  { font-size: 16px !important; }
    .kj-stats__num   { font-size: 28px !important; }
    .kj-stats__badge { font-size: 22px !important; }
    .kj-stats__label { font-size: 13px !important; }
    .kj-service__card h3   { font-size: 17px !important; }
    .kj-service__card p    { font-size: 15px !important; line-height: 1.7 !important; }
    .kj-feature__item h3   { font-size: 17px !important; }
    .kj-feature__item p    { font-size: 15px !important; }
    .kj-area__name         { font-size: 15px !important; }
    .kj-area__note         { font-size: 13px !important; }
    .kj-contact__item a,
    .kj-contact__item address { font-size: 16px !important; }

    /* ── 모바일 팀카드: 사진을 상단에, 머리 보이게 ── */
    .kj-team__card {
        flex-direction: column;
        padding: 0;
        overflow: hidden;
    }
    .kj-team__photo {
        width: 100% !important;
        height: 240px !important;
        border-radius: var(--kj-radius) var(--kj-radius) 0 0 !important;
        border: none !important;
        border-bottom: 3px solid var(--kj-orange-mid) !important;
        background: var(--kj-bg-gray) !important;
    }
    .kj-team__photo img { object-fit: contain !important; object-position: center top !important; }
    .kj-team__info { padding: 18px !important; }
    .kj-team__info h3   { font-size: 17px !important; }
    .kj-team__role      { font-size: 11px !important; }
    .kj-team__bio       { font-size: 14px !important; }
    .kj-team__contact a { font-size: 14px !important; }

    /* ── 모바일 trust bar (2열) ── */
    .kj-stats__grid--4 { grid-template-columns: repeat(2,1fr) !important; }
    .kj-stats__item { border-bottom: 1px solid var(--kj-border); }
    .kj-stats__item:nth-child(2n) { border-right: none; }

    /* ── 언어바 모바일: 배경색 강제 적용 ── */
    .kj-lang-bar { background: #1a3a5c !important; padding: 6px 0 !important; display: block !important; }
    .kj-lang-list { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; list-style: none !important; padding: 0 !important; margin: 0 !important; gap: 0 !important; justify-content: flex-end !important; }
    .kj-lang-list li { list-style: none !important; display: inline-flex !important; }
    .kj-lang-list .lang-item a { color: rgba(255,255,255,0.75) !important; font-size: 12px !important; padding: 3px 8px !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
    .kj-lang-list .current-lang a { color: #fff !important; font-weight: 800 !important; }
}
@media (max-width:768px) {
    .kj-ko-service-cards { grid-template-columns:repeat(2,1fr); gap:14px; }
    .kj-award-banner__inner { gap:16px; }
    .kj-award-banner__title { font-size:0.9rem; text-align:center; }
    .kj-award-badge { padding:8px 12px; min-width:64px; }
}
@media (max-width:480px) {
    .kj-areas__grid { grid-template-columns:1fr 1fr; }
    .kj-stats__grid { grid-template-columns:repeat(2,1fr); }
    .kj-hero__cta   { flex-direction:column; align-items:flex-start; }
    .kj-features__grid { grid-template-columns:1fr; }
    .kj-section__header h2 { font-size: 20px !important; }
}

/* ================================================================
   단일 포스트 (single.php)
   ================================================================ */
.kj-single-wrap { padding:0 0 80px; }
.kj-breadcrumb { font-size:0.8rem; color:var(--kj-text-muted); padding:14px 0; display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.kj-breadcrumb a { color:var(--kj-text-muted); text-decoration:none; }
.kj-breadcrumb a:hover { color:var(--kj-orange); }
.kj-breadcrumb span:last-child { color:var(--kj-text); font-weight:600; }
.kj-single-layout { display:grid; grid-template-columns:1fr 280px; gap:40px; align-items:start; }
.kj-single-article { min-width:0; }
.kj-single-header { margin-bottom:28px; }
.kj-single-meta { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.kj-single-date { font-size:0.82rem; color:var(--kj-text-muted); }
.kj-single-title { font-family:var(--kj-font-ko); font-size:clamp(1.4rem,3vw,2rem); font-weight:900; line-height:1.35; color:var(--kj-text); margin:0; }
.kj-single-thumb { margin-bottom:32px; border-radius:var(--kj-radius-lg); overflow:hidden; }
.kj-single-thumb img { width:100%; height:auto; display:block; }
.kj-single-content { font-family:var(--kj-font-ko); font-size:1rem; line-height:1.9; color:var(--kj-text); }
.kj-single-content h2,.kj-single-content h3 { font-weight:800; margin:32px 0 12px; }
.kj-single-content p { margin:0 0 20px; }
.kj-single-content ul,.kj-single-content ol { padding-left:24px; margin:0 0 20px; }
.kj-single-content li { margin-bottom:8px; }
.kj-single-content img { max-width:100%; border-radius:var(--kj-radius); }
.kj-single-content a { color:var(--kj-orange); }
.kj-single-nav { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:48px 0 24px; padding-top:24px; border-top:1px solid var(--kj-border); }
.kj-single-nav__prev,.kj-single-nav__next { display:flex; flex-direction:column; gap:4px; text-decoration:none; padding:14px 16px; background:var(--kj-bg-gray); border-radius:var(--kj-radius); border:1px solid var(--kj-border); transition:border-color .2s; }
.kj-single-nav__prev:hover,.kj-single-nav__next:hover { border-color:var(--kj-orange); }
.kj-single-nav__next { text-align:right; }
.kj-single-nav__label { font-size:0.72rem; color:var(--kj-text-muted); font-weight:700; text-transform:uppercase; }
.kj-single-nav__title { font-size:0.85rem; font-weight:700; color:var(--kj-text); font-family:var(--kj-font-ko); line-height:1.4; }
.kj-single-back { margin-top:16px; }
.kj-single-sidebar { position:sticky; top:80px; }
/* 팀 소개 페이지 */
.kj-about__highlights { list-style:none; padding:0; margin:16px 0; display:flex; flex-direction:column; gap:6px; }
.kj-about__highlights li { font-size:0.88rem; font-family:var(--kj-font-ko); color:var(--kj-text); }

/* ================================================================
   임대 절차 단계 (template-ko-rent.php)
   ================================================================ */
.kj-rent-intro { max-width:760px; margin:0 auto; text-align:center; }
.kj-rent-intro h2 { font-size:1.3rem; font-weight:800; margin-bottom:12px; }
.kj-rent-intro p { font-size:0.97rem; line-height:1.85; color:var(--kj-text); font-family:var(--kj-font-ko); }
.kj-process-steps { display:flex; flex-direction:column; gap:20px; max-width:860px; margin:0 auto; }
.kj-process-step { display:grid; grid-template-columns:56px 1fr; gap:20px; align-items:start; background:#fff; border-radius:var(--kj-radius-lg); padding:24px; border:1px solid var(--kj-border); }
.kj-process-step__num { width:48px; height:48px; background:var(--kj-orange); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.1rem; font-weight:900; flex-shrink:0; }
.kj-process-step__content h3 { font-size:1rem; font-weight:800; margin:0 0 8px; font-family:var(--kj-font-ko); color:var(--kj-text); }
.kj-process-step__content p { font-size:0.9rem; line-height:1.75; margin:0 0 10px; color:var(--kj-text); font-family:var(--kj-font-ko); }
.kj-process-step__tip { background:var(--kj-orange-light); border-radius:var(--kj-radius-sm); padding:10px 14px; font-size:0.82rem; color:var(--kj-text); font-family:var(--kj-font-ko); line-height:1.6; }
.kj-process-step__tip-label { font-weight:800; margin-right:6px; }

/* 단일 포스트 모바일 */
@media (max-width:900px) {
    .kj-single-layout { grid-template-columns:1fr; }
    .kj-single-sidebar { position:static; }
}
@media (max-width:600px) {
    .kj-single-nav { grid-template-columns:1fr; }
    .kj-process-step { grid-template-columns:40px 1fr; gap:14px; }
    .kj-process-step__num { width:36px; height:36px; font-size:0.9rem; }
}
