@charset "UTF-8";
/* =========================================================================
   도장통 djt2026 — head.php 공용 스타일 (헤더 / 메인 3:1 셸 / 푸터)
   -------------------------------------------------------------------------
   · 2026-07-01: head.php 인라인 <style id="djt-redesign-style"> 를 분리.
   · 새 마크업(#pc_header.djt-pc-header / #djt-main / #footer.djt-footer)
     에만 적용되도록 스코프 처리(서브페이지 본문 레이아웃엔 영향 없음).
   · 반응형은 Tailwind CSS 기본 브레이크포인트 기준(모바일 퍼스트 아님,
     기존 데스크톱 고정폭 레이아웃을 유지하며 max-width로 단계적 축소):
       xl 1280px / lg 1024px / md 768px / sm 640px
   ========================================================================= */
:root{
  --djt-bg:#F4F6F9; --djt-surface:#FFFFFF; --djt-line:#E3E8EF;
  --djt-navy:#0B2A4A; --djt-blue:#1D5FBF; --djt-blue-dark:#154C9E; --djt-teal:#0FA3A3;
  --djt-ink:#16212E; --djt-ink-60:#6B7686;
  --djt-ad-bg:#FFF6E6; --djt-ad-border:#E8A33D; --djt-ad-label:#A8731E;
  --djt-ph1:#E2E8EE; --djt-ph2:#CBD5E0; --djt-ph-ink:#7C8896;
}
/* ----- 공통 리셋(스코프 한정) ----- */
#pc_header.djt-pc-header, #pc_header.djt-pc-header *,
#djt-main, #djt-main *,
#footer.djt-footer, #footer.djt-footer *{box-sizing:border-box;}
#pc_header.djt-pc-header, #djt-main, #footer.djt-footer{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  color:var(--djt-ink); line-height:1.5; font-size:14px;
}
#pc_header.djt-pc-header a, #djt-main a, #footer.djt-footer a{color:inherit;text-decoration:none;}
#pc_header.djt-pc-header .wrap, #djt-main .wrap, #footer.djt-footer .wrap{max-width:1280px;margin:0 auto;padding:0 30px;position:static;width:auto;overflow:visible;height:auto;}
/* 업체검색(지도) 인포윈도우의 전역 .wrap{position:absolute} 충돌로 헤더/상단띠/푸터가 무너지는 것 방지 */
#wrapper.djt-wrapper-main{background:var(--djt-bg);}
#djt-main .thumb-ph{background:linear-gradient(135deg,var(--djt-ph1),var(--djt-ph2));display:flex;align-items:center;justify-content:center;color:var(--djt-ph-ink);font-size:11px;font-weight:700;text-align:center;}
#djt-main .ad-tag{position:absolute;top:12px;left:12px;font-size:14px;font-weight:800;background:var(--djt-ad-border);color:#fff;padding:3px 9px;border-radius:6px;z-index:3;}

/* ===================== 헤더 ===================== */
#pc_header.djt-pc-header{background:var(--djt-surface);display:block;width:100%;height:auto;position:static;box-shadow:none;}
#pc_header.djt-pc-header .utility{background:var(--djt-bg);font-size:14px;color:var(--djt-ink-60);}
#pc_header.djt-pc-header .utility .wrap{display:flex;justify-content:flex-end;gap:16px;height:34px;align-items:center;}
#pc_header.djt-pc-header .utility a:hover{color:var(--djt-blue);}
#pc_header.djt-pc-header .header-main{background:var(--djt-surface);border-bottom:1px solid var(--djt-line);}
#pc_header.djt-pc-header .header-row{display:flex;align-items:center;gap:26px;height:100px;}
#pc_header.djt-pc-header .logo{flex:none;display:flex;align-items:center;}
#pc_header.djt-pc-header .logo img{height:62px;width:auto;display:block;}
#pc_header.djt-pc-header .search-box{flex:1;max-width:540px;height:46px;display:flex;align-items:stretch;border:1.5px solid var(--djt-line);background:var(--djt-bg);border-radius:10px;overflow:hidden;margin:0;}
#pc_header.djt-pc-header .search-box input{flex:1;height:100%;border:none;background:transparent;padding:0 18px;font-size:14px;outline:none;font-family:inherit;box-sizing:border-box;}
#pc_header.djt-pc-header .search-box button{height:100%;display:flex;align-items:center;justify-content:center;border:none;background:var(--djt-blue);color:#fff;padding:0 22px;cursor:pointer;font-weight:700;font-size:13px;box-sizing:border-box;}
/* 검색창 닫기(X) 버튼 — 데스크톱/태블릿에서는 여닫는 오버레이 방식이 아니므로 기본적으로 숨김
   (모바일 전용 오버레이 검색에서만 djt-mobile-nav.css 가 다시 노출) */
#pc_header.djt-pc-header .search-box .djt-search-close{display:none;}
#pc_header.djt-pc-header .header-links{display:flex;gap:12px;font-size:14px;font-weight:600;flex:none;color:var(--djt-ink-60);align-items:center;}
#pc_header.djt-pc-header .header-links a:hover{color:var(--djt-blue);}
#pc_header.djt-pc-header .header-links .hl-user{color:var(--djt-blue);font-weight:700;}
#pc_header.djt-pc-header nav.gnb{background:var(--djt-blue);position:relative;}
#pc_header.djt-pc-header nav.gnb .wrap{display:flex;gap:20px;height:60px;align-items:stretch;font-size:18px;font-weight:600;}
/* 전체메뉴(펼침) 버튼 — lg(1024px) 미만에서는 이 버튼이 모바일 주 메뉴 트리거 */
#pc_header.djt-pc-header .djt-allmenu-btn{display:flex;align-items:center;gap:10px;height:60px;padding:0 30px 0 0;margin-right:12px;background:none;border:none;border-right:1px solid rgba(255,255,255,.15);color:#fff;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;}
#pc_header.djt-pc-header .djt-allmenu-btn i{font-size:20px;}
#pc_header.djt-pc-header .djt-allmenu-btn .label{white-space:nowrap;}
#pc_header.djt-pc-header .djt-allmenu-btn:hover{color:#FFCF80;}
#pc_header.djt-pc-header .djt-allmenu-btn[aria-expanded="true"]{color:#FFCF80;}
/* 1차 메뉴 */
#pc_header.djt-pc-header nav.gnb .gnb-item{position:relative;display:flex;align-items:center;}
#pc_header.djt-pc-header nav.gnb .gnb-top{display:flex;align-items:center;height:60px;padding:0 16px;color:#d8e4f6;white-space:nowrap;}
#pc_header.djt-pc-header nav.gnb .gnb-item:hover .gnb-top{color:#fff;background:rgba(255,255,255,.07);}
#pc_header.djt-pc-header nav.gnb .gnb-item.ad-link{margin-left:auto;}
#pc_header.djt-pc-header nav.gnb .gnb-item.ad-link .gnb-top{color:#FFCF80;font-weight:700;}
/* 2차 드롭다운 (마우스 오버) */
#pc_header.djt-pc-header nav.gnb .gnb-sub{display:none;position:absolute;top:60px;left:0;min-width:216px;background:#fff;border:1px solid var(--djt-line);border-top:2px solid var(--djt-blue);border-radius:0 0 10px 10px;box-shadow:0 16px 30px -16px rgba(11,42,74,.35);padding:8px 0;z-index:60;}
#pc_header.djt-pc-header nav.gnb .gnb-item:hover .gnb-sub{display:block;}
#pc_header.djt-pc-header nav.gnb .gnb-sub a{display:block;padding:9px 18px;font-size:16px;font-weight:500;color:var(--djt-ink);white-space:nowrap;}
#pc_header.djt-pc-header nav.gnb .gnb-sub a:hover{background:var(--djt-bg);color:var(--djt-blue);}
/* 전체메뉴(펼침) 패널 — 데스크톱: GNB 아래 드롭다운 그리드 / lg(1024px) 미만: 전체화면 모바일 메뉴 */
#pc_header.djt-pc-header .djt-allmenu-panel{
  position:absolute;left:0;right:0;top:60px;background:#fff;border-top:2px solid var(--djt-blue);
  box-shadow:0 24px 40px -20px rgba(11,42,74,.4);z-index:70;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
#pc_header.djt-pc-header .djt-allmenu-panel.is-open{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;}
#pc_header.djt-pc-header .djt-allmenu-panel .inner{max-width:1280px;margin:0 auto;padding:30px 30px 34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:22px 24px;position:relative;}
#pc_header.djt-pc-header .djt-allmenu-panel .col{min-width:0;}
#pc_header.djt-pc-header .djt-allmenu-panel .col > a{display:flex;align-items:center;gap:7px;font-size:18px;font-weight:800;color:var(--djt-navy);padding:0 0 9px;margin-bottom:8px;border-bottom:2px solid var(--djt-line);transition:color .12s,border-color .12s;}
#pc_header.djt-pc-header .djt-allmenu-panel .col > a::before{content:"";flex:none;width:4px;height:15px;border-radius:2px;background:var(--djt-blue);}
#pc_header.djt-pc-header .djt-allmenu-panel .col > a:hover{color:var(--djt-blue);border-bottom-color:var(--djt-blue);}
#pc_header.djt-pc-header .djt-allmenu-panel .col.ad-link > a{color:#B8790C;}
#pc_header.djt-pc-header .djt-allmenu-panel .col ul{list-style:none;margin:0;padding:0;}
#pc_header.djt-pc-header .djt-allmenu-panel .col li a{display:block;font-size:16px;color:var(--djt-ink-60);padding:6px 8px;border-radius:6px;transition:background-color .12s,color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#pc_header.djt-pc-header .djt-allmenu-panel .col li a:hover{color:var(--djt-blue);background:var(--djt-bg);}
#pc_header.djt-pc-header .djt-allmenu-close{position:absolute;top:16px;right:18px;width:32px;height:32px;background:var(--djt-bg);border:1px solid var(--djt-line);border-radius:8px;font-size:18px;color:var(--djt-ink-60);cursor:pointer;line-height:1;transition:background-color .12s,color .12s,border-color .12s;}
#pc_header.djt-pc-header .djt-allmenu-close:hover{background:var(--djt-blue);color:#fff;border-color:var(--djt-blue);}
/* 1280px 이상: 1차 메뉴를 한 줄로 (컬럼 수만큼 자동 배치 + 컬럼 구분선) */
@media (min-width:1280px){
  #pc_header.djt-pc-header .djt-allmenu-panel .inner{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;padding:30px 24px 34px;}
  #pc_header.djt-pc-header .djt-allmenu-panel .col{padding:2px 22px;}
  #pc_header.djt-pc-header .djt-allmenu-panel .col:first-of-type{padding-left:6px;}
  #pc_header.djt-pc-header .djt-allmenu-panel .col + .col{border-left:1px solid var(--djt-line);}
}

/* ===================================================================
   모바일 친화적 메뉴 (lg 1024px 미만)
   · 수평 hover 메뉴바(.gnb-item)는 터치 환경에 부적합하므로 숨기고,
     햄버거(.djt-allmenu-btn) → 전체메뉴 패널을 전체화면 오버레이로 전환.
   · 2차 메뉴는 별도 아코디언 없이 처음부터 펼쳐진 리스트로 노출(탭 1회로 도달).
   =================================================================== */
@media screen and (max-width:1023px){
  #pc_header.djt-pc-header nav.gnb .gnb-item{display:none;} /* 수평 hover 메뉴 숨김 — 햄버거 메뉴로 대체 */
  #pc_header.djt-pc-header .djt-allmenu-btn{padding:0;margin-right:0;border-right:none;height:52px;font-size:15px;}
  #pc_header.djt-pc-header nav.gnb .wrap{height:52px;padding:0 16px;}

  #pc_header.djt-pc-header .djt-allmenu-panel{
    position:fixed;inset:0;top:0;border-top:none;z-index:200;
    box-shadow:none;overflow-y:auto;-webkit-overflow-scrolling:touch;
  }
  #pc_header.djt-pc-header .djt-allmenu-panel .inner{
    max-width:none;display:block;padding:64px 20px 40px;min-height:100%;box-sizing:border-box;
  }
  #pc_header.djt-pc-header .djt-allmenu-panel .col{margin-bottom:22px;}
  #pc_header.djt-pc-header .djt-allmenu-panel .col > a{font-size:17px;padding:0 0 10px;}
  #pc_header.djt-pc-header .djt-allmenu-panel .col li a{font-size:15.5px;padding:11px 10px;white-space:normal;} /* 탭 타겟 44px+ 확보 */
  #pc_header.djt-pc-header .djt-allmenu-close{top:12px;right:16px;width:40px;height:40px;font-size:22px;}

  body.djt-menu-open{overflow:hidden;} /* 메뉴 열림 동안 배경 스크롤 잠금 */
}

/* ===================== 3:1 페이지 셸 ===================== */
#djt-main{padding:0;background:var(--djt-bg);}
#djt-main .page-shell{display:grid;grid-template-columns:96fr 35fr;gap:30px;align-items:start;padding:0 30px 50px;} /* 좌:우 = 960:350 (상단 리더보드 960px 기준) */
#djt-main .left-col{min-width:0;display:flex;flex-direction:column;gap:20px;}
#djt-main .right-col{position:sticky;top:18px;display:flex;flex-direction:column;gap:20px; max-width: 318px;}

/* 2026-07-02: 공지사항/견적의뢰/업체검색을 JS로 옮기기 위한 빈 삽입 지점(anchor) —
   .left-col이 flex+gap 레이아웃이라 빈 div도 형제 요소로 카운트되어 앞뒤로 gap이 두 번
   생겨(간격이 2배로 벌어짐) feature-grid↔뉴스, 중고매매↔자료실 사이가 벌어지는 문제가 있었음.
   display:none으로 완전히 레이아웃에서 제외 — JS의 .after()는 DOM에 남아있는 한
   display 상태와 무관하게 정상 동작하므로 기능에는 영향 없음 */
#djt-main #djtMobileInsertPoint,
#djt-main #djtMobileNoticeInsertPoint{display:none;}

/* 메인 리더보드(슬라이더) — 실제 스타일은 djt-hero-row.css의 .djt-hero-row .lb-stage 가 전담(중복/충돌 방지 위해 여기선 제거) */
#djt-main .lb-meta{font-size:11px;color:var(--djt-ad-label);font-weight:700;margin-top:8px;}

/* 섹션 헤더 */
#djt-main .section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
#djt-main .section-head h2{font-size:17px;font-weight:800;color:var(--djt-navy);}
#djt-main .section-head a{font-size:14px;font-weight:700;color:var(--djt-blue);}
#djt-main .note-inline{font-size:11px;color:var(--djt-ink-60);}

/* 핵심 서비스 */
#djt-main .feature-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
#djt-main .feature-card{background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:12px;padding:16px 10px;text-align:center;transition:border-color .15s;}
#djt-main .feature-card:hover{border-color:var(--djt-blue);}
#djt-main .feature-card .ico{width:32px;height:32px;border-radius:9px;background:#E8F0FE;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;color:var(--djt-blue);font-size:16px;}
#djt-main .feature-card h4{font-size:14px;font-weight:700;}

/* 광고배너 6슬롯 */
#djt-main .mid-banner-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
#djt-main .mid-banner-row .ad{position:relative;height:82px;border-radius:10px;overflow:hidden;background:var(--djt-ad-bg);border:1.5px dashed var(--djt-ad-border);display:flex;align-items:center;justify-content:center;color:var(--djt-ad-label);font-size:11px;font-weight:700;text-align:center;}
#djt-main .mid-banner-row .ad img{width:100%;height:100%;object-fit:cover;}

/* 뉴스 */
#djt-main .news-block{background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:14px;padding:20px;}
#djt-main .news-feature{display:flex;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--djt-line);margin-bottom:8px;}
#djt-main .news-feature .thumb-ph{width:160px;height:108px;flex:none;border-radius:10px;overflow:hidden;}
#djt-main .news-feature .thumb-ph img{width:100%;height:100%;object-fit:cover;}
#djt-main .news-feature h6{font-size:14.5px;font-weight:700;margin-bottom:6px;}
#djt-main .news-feature p{font-size:14px;color:var(--djt-ink-60);}
#djt-main .news-feature .src{font-size:11px;color:var(--djt-ink-60);margin-top:6px;}
#djt-main .news-plain{list-style:none;margin:0;padding:0;}
#djt-main .news-plain li{font-size:14px;padding:8px 0;border-bottom:1px dashed var(--djt-line);color:var(--djt-ink-60);display:flex;justify-content:space-between;gap:10px;}
#djt-main .news-plain li:last-child{border-bottom:none;}
#djt-main .news-plain li .nx-date{flex:none;color:#9aa4b2;}

/* 탐방 */
#djt-main .visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
#djt-main .visit-card{background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:14px;overflow:hidden;}
#djt-main .visit-card .thumb-ph{height:110px;border-radius:0;overflow:hidden;}
#djt-main .visit-card .thumb-ph img{width:100%;height:100%;object-fit:cover;}
#djt-main .visit-card .cap{padding:12px 14px;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* 중고매매 */
#djt-main .used-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
#djt-main .used-card{background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:12px;overflow:hidden;}
#djt-main .used-card .thumb-ph{height:84px;border-radius:0;position:relative;overflow:hidden;}
#djt-main .used-card .thumb-ph img{width:100%;height:100%;object-fit:cover;}
#djt-main .used-card .tag{position:absolute;top:6px;left:6px;background:var(--djt-navy);color:#fff;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:4px;z-index:2;}
#djt-main .used-card .cap{padding:8px 10px;font-size:14px;color:var(--djt-ink-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* 함께하는 기업 */
#djt-main .partners{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
#djt-main .partners div{height:54px;background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--djt-ink-60);font-weight:600;text-align:center;padding:0 6px;overflow:hidden;}

/* ===================== 우측 컬럼 ===================== */
#djt-main .login-box{background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:12px;padding:20px;box-shadow:0 10px 24px -16px rgba(11,42,74,.16);}
#djt-main .login-box input{width:100%;padding:11px 14px;border:1px solid var(--djt-line);border-radius:8px;font-size:13px;margin-bottom:8px;font-family:inherit;background:var(--djt-bg);}
#djt-main .login-box .btn-login{width:100%;padding:12px;border:none;border-radius:8px;background:var(--djt-blue);color:#fff;font-weight:700;font-size:14px;cursor:pointer;margin-top:2px;}
#djt-main .login-box .row-aux{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--djt-ink-60);margin-top:10px;}
#djt-main .login-box .row-aux label{display:flex;gap:5px;align-items:center;margin:0;}
#djt-main .login-box .links{display:flex;justify-content:center;gap:10px;font-size:11.5px;font-weight:700;color:var(--djt-blue);margin-top:6px;}
#djt-main .login-box .sns-row{display:flex;justify-content:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--djt-line);}
#djt-main .login-box .sns-row a{width:32px;height:32px;border-radius:50%;background:var(--djt-bg);border:1px solid var(--djt-line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--djt-ink-60);}
#djt-main .login-box.is-member{text-align:center;}
#djt-main .login-box .mb-greet{font-size:14px;font-weight:700;color:var(--djt-navy);margin-bottom:4px;}
#djt-main .login-box .mb-sub{font-size:11.5px;color:var(--djt-ink-60);margin-bottom:14px;}
#djt-main .login-box .mb-actions{display:flex;flex-direction:column;gap:8px;}
#djt-main .login-box .mb-actions a{display:block;padding:10px;border-radius:8px;font-size:13px;font-weight:700;}
#djt-main .login-box .mb-actions .pri{background:var(--djt-blue);color:#fff;}
#djt-main .login-box .mb-actions .sec{background:var(--djt-bg);color:var(--djt-ink);border:1px solid var(--djt-line);}

#djt-main .mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#djt-main .mini-stat{background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:12px;padding:14px;text-align:center;}
#djt-main .mini-stat b{display:block;font-size:18px;font-weight:800;color:var(--djt-blue);}
#djt-main .mini-stat div{font-size:14px;color:var(--djt-ink-60);margin-top:2px;}

#djt-main .box{background:var(--djt-surface);border:1px solid var(--djt-line);border-radius:14px;padding:18px;}
#djt-main .box h5{font-size:14px;font-weight:700;color:var(--djt-navy);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;}
#djt-main .box h5 a{font-size:11px;color:var(--djt-blue);font-weight:700;}
/* 2026-07-01: 공지사항·견적의뢰·업체검색은 h5→h2로 태그 변경(자료실·지식문의와 통일) —
   데스크톱(사이드바 박스)에서는 기존 h5와 동일한 외형을 유지하기 위해 h2 전용 규칙을 별도 추가 */
#djt-main .box h2{font-size:14px;font-weight:700;color:var(--djt-navy);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;}
#djt-main .box h2 a{font-size:11px;color:var(--djt-blue);font-weight:700;}
#djt-main .box ul{list-style:none;margin:0;padding:0;}
#djt-main .box li{font-size:14px;padding:8px 0;border-bottom:1px solid var(--djt-line);list-style:none;color:var(--djt-ink-60);display:flex;justify-content:space-between;gap:8px;align-items:baseline;}
#djt-main .box li:last-child{border-bottom:none;}
#djt-main .box li b{color:var(--djt-ink);font-weight:500;display:block;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#djt-main .box li > a{min-width:0;flex:1;overflow:hidden;}
#djt-main .box li span{font-size:14px;flex:none;color:#9aa4b2;}
#djt-main .pill{font-size:10px;background:#E8F0FE;color:var(--djt-blue);padding:2px 7px;border-radius:10px;font-weight:700;}
#djt-main .pill.notice-pin{background:#FEE8E8;color:#C0392B;flex:none;}

#djt-main .affiliate-ad{position:relative;border-radius:12px;overflow:hidden;background:var(--djt-ad-bg);border:1.5px dashed var(--djt-ad-border);display:flex;align-items:center;justify-content:center;color:var(--djt-ad-label);font-size:14px;font-weight:700;text-align:center;height:230px;}
#djt-main .affiliate-ad img{width:100%;height:100%;object-fit:cover;}

/* ===================== 푸터 ===================== */
#footer.djt-footer {
    background-color: #262b36; /* 신뢰감을 주는 다크 네이비 톤 */
    color: #9ca3af;
    padding: 60px 0 40px;
    position: relative;
    box-sizing: border-box;
    border-top: 4px solid #3b82f6; /* 브랜드 컬러 포인트 라인 */
    text-align: left; /* 기존 사이트 중앙정렬 등 오버라이드 */
    font-family: 'Pretendard', 'Noto Sans KR', sans-serif; /* 폰트 강제 적용 */
}

#footer.djt-footer * {
    box-sizing: border-box; /* 내부 요소 박스사이징 통일 */
}

#footer.djt-footer .wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    display: block;
}

/* ── 좌우 2단 분할 ── */
#footer.djt-footer .ft-body {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}
#footer.djt-footer .ft-left {
    flex: 0 0 52%;
    max-width: 52%;
}
#footer.djt-footer .ft-right {
    flex: 1;
    min-width: 0;
}

/* 1. 회사 정보 영역 */
#footer.djt-footer .ft-info {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: -0.02em;
    color: #9ca3af;
    margin: 0 0 20px 0;
}

#footer.djt-footer .ft-info b.company-name {
    display: block;
    font-size: 20px;
    color: #ffffff;
    margin: 0 0 15px 0;
    font-weight: 700;
}

#footer.djt-footer .ft-info b.company-name img{
    max-width: 125px;
}

#footer.djt-footer .ft-info span.item {
    display: inline-block;
}

/* 정보 사이의 구분선 (|) */
#footer.djt-footer .ft-info span.divider {
    color: rgba(255, 255, 255, 0.15);
    margin: 0 10px;
    font-size: 12px;
    vertical-align: middle;
}

#footer.djt-footer .ft-info span.contact-label {
    font-weight: 600;
    color: #d1d5db;
    margin-right: 5px;
}

#footer.djt-footer .info-row {
    margin: 0 0 6px 0;
}

/* 2. 약관·안내 링크 (ft-info 아래) */
#footer.djt-footer .ft-links {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin: 0 0 20px 0;
    padding: 18px 0 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    align-items: center;
}

#footer.djt-footer .ft-links a {
    color: #9ca3af;
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    transition: color 0.2s ease;
    display: inline-block;
    background: none;
    padding: 0;
    line-height: 1.5;
}

#footer.djt-footer .ft-links a:hover {
    color: #ffffff;
}

/* 개인정보처리방침 강조 */
#footer.djt-footer .ft-links a.privacy-highlight {
    color: #e5e7eb;
    font-weight: 600;
}

/* 3. 카피라이트 */
#footer.djt-footer .ft-copy {
    font-size: 12px;
    color: #6b7280;
    margin: 0;
    font-family: Arial, sans-serif;
    letter-spacing: 0.04em;
}

#footer.djt-footer .ft-copy b {
    color: #9ca3af;
    font-weight: normal;
}

/* ── 사이트맵 (ft-right) ── */
#footer.djt-footer .ft-sitemap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 20px;
}
#footer.djt-footer .sitemap-col .sm-title {
    font-size: 13px;
    font-weight: 700;
    color: #e5e7eb;
    margin: 0 0 12px 0;
    padding: 0 0 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    letter-spacing: 0.02em;
}
#footer.djt-footer .sitemap-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#footer.djt-footer .sitemap-col ul li {
    margin: 0 0 8px 0;
}
#footer.djt-footer .sitemap-col ul li a {
    font-size: 13px;
    color: #9ca3af;
    transition: color 0.2s;
    display: inline-block;
}
#footer.djt-footer .sitemap-col ul li a:hover {
    color: #ffffff;
}

/* 4. 탑 버튼 디자인 리뉴얼 */
#footer.djt-footer #top_btn {
    position: absolute;
    right: 40px;
    top: -25px; /* 푸터 테두리 위로 살짝 걸치게 배치 */
    width: 50px;
    height: 50px;
    background-color: #3b82f6; /* 포인트 블루 컬러 */
    color: white;
    border: none;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 6px 15px rgba(59, 130, 246, 0.4);
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    padding: 0;
    margin: 0;
}

#footer.djt-footer #top_btn:hover {
    background-color: #2563eb;
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.6);
}

#footer.djt-footer .sound_only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
}

/* ════════════════════════════════════════════════════════════════════════
   반응형 (Tailwind CSS 브레이크포인트 기준: xl 1280 / lg 1024 / md 768 / sm 640)
   기존 1100px/768px 임의 분기점을 아래 표준 스케일로 재정렬.
════════════════════════════════════════════════════════════════════════ */

/* ---- xl 미만 (<1280px): 여백만 살짝 축소 ---- */
@media screen and (max-width:1279px){
  #pc_header.djt-pc-header .wrap, #djt-main .wrap, #footer.djt-footer .wrap{padding:0 20px;}
  #djt-main .page-shell{padding:0px 20px 50px;}
}

/* ---- 태블릿 구간 (1024px~1279px): 우측 컬럼(로그인·공지 등)을 본문 아래로 내려
   좌측 메인 콘텐츠를 풀사이즈로 사용. 그리드 열 수는 늘어난 폭에 맞게 재조정. ---- */
@media screen and (min-width:1024px) and (max-width:1279px){
  #pc_header.djt-pc-header .header-row{gap:20px;height:92px;}
  #pc_header.djt-pc-header .logo img{height:56px;}
  /* 검색창을 우측정렬(header-links 쪽에 붙임) — flex-grow를 끄고 margin-left:auto로 밀어냄 */
  #pc_header.djt-pc-header .search-box{flex:0 1 420px;max-width:420px;margin-left:auto;}
  #pc_header.djt-pc-header .header-links{gap:10px;font-size:13px;}

  /* GNB(1차 메뉴)가 화면 밖으로 벗어나는 문제 — 태블릿 폭에 맞게 글자 크기·여백 축소 */
  #pc_header.djt-pc-header nav.gnb .wrap{gap:4px;font-size:14px;}
  #pc_header.djt-pc-header nav.gnb .gnb-top{padding:0 10px;}
  #pc_header.djt-pc-header .djt-allmenu-btn{padding:0 16px 0 0;margin-right:6px;font-size:14px;}
  #pc_header.djt-pc-header .djt-allmenu-btn i{font-size:17px;}

  /* 우측 컬럼(로그인·공지·견적의뢰·업체검색·계산기·배너)을 본문 아래로 내리고
     좌측 메인 콘텐츠를 풀사이즈로 사용 */
  #djt-main .page-shell{grid-template-columns:1fr;gap:28px;}

  /* 풀사이즈로 넓어진 폭에 맞게 그리드 열 수 재조정(사이드바 있을 때보다 한 단계 더) */
  #djt-main .feature-grid,#djt-main .used-grid,#djt-main .partners{grid-template-columns:repeat(6,1fr);}
  #djt-main .mid-banner-row{grid-template-columns:repeat(4,1fr);gap:48px;}
  #djt-main .visit-grid{grid-template-columns:repeat(3,1fr);gap:14px;}
  #djt-main .news-feature .thumb-ph{width:150px;height:104px;}

  /* 우측 컬럼이 본문 아래로 내려간 뒤 재배치.
     [주의] 2026-07-02: 공지사항·견적의뢰는 이제 태블릿(1024~1279)에서도 모바일과 동일하게
     JS로 좌측(뉴스 위·자료실 자리)으로 이동되므로, 이 구간의 .right-col에는 업체검색·
     도료계산기·배너 슬라이더 3개만 남는다 — nth-child(1)/(2)로 공지사항·견적의뢰를 잡던
     기존 규칙은 대상이 없어져 무의미해지므로 제거하고, id/class 선택자로 남은 3개만 한 줄
     3등분 배치(grid 기본 stretch로 높이 자동 동일화) */
  #djt-main .right-col{
    position:static;display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    max-width:none;min-width:0;
  }
  #djt-main .right-col > #djtCompanySearchBox,
  #djt-main .right-col > #djtCalcBox,
  #djt-main .right-col > .djt-side-slider{grid-column:span 1;min-width:0;}
  #djt-main .mini-stats{grid-template-columns:1fr 1fr;}

  #footer.djt-footer .ft-body{gap:44px;margin-bottom:30px;}
  #footer.djt-footer .ft-left{flex:0 0 44%;max-width:44%;}
  #footer.djt-footer .ft-sitemap{grid-template-columns:repeat(4,1fr);gap:0 16px;}
}

/* ---- lg 미만 (<1024px, 768px~1023px 포함): 모바일과 완전히 동일한 코드 —
   헤더 유틸리티/검색 축소, 카드 그리드, 푸터 세로 스택 등을 768px~1023px 구간까지 그대로 적용 ---- */
@media screen and (max-width:1023px){
  #pc_header.djt-pc-header .wrap, #djt-main .wrap, #footer.djt-footer .wrap{padding:0 16px;}
  #pc_header.djt-pc-header .utility{display:none;} /* 상단 유틸리티(고객센터 등) 라인 숨김 */
  #pc_header.djt-pc-header .header-row{flex-wrap:wrap;height:auto;padding:12px 0;gap:10px;}
  #pc_header.djt-pc-header .logo img{height:40px;}
  #pc_header.djt-pc-header .search-box{order:3;flex:0 0 100%;max-width:none;}
  #pc_header.djt-pc-header .header-links{gap:10px;font-size:13px;}

  #djt-main .page-shell{grid-template-columns:1fr;padding:0 16px 36px;gap:20px;}
  #djt-main .right-col{position:static;max-width:none;min-width:0;}
  #djt-main .left-col{gap:20px;}
  /* .lb-stage 스타일은 djt-hero-row.css 전담(중복 규칙 제거) */
  #djt-main .feature-grid{grid-template-columns:repeat(3,1fr);gap:10px;}
  #djt-main .used-grid,#djt-main .partners{grid-template-columns:repeat(3,1fr);}
  #djt-main .mid-banner-row{grid-template-columns:repeat(2,1fr);}
  #djt-main .visit-grid{grid-template-columns:repeat(2,1fr);}
  #djt-main .news-feature{flex-direction:column;}
  #djt-main .news-feature .thumb-ph{width:100%;height:160px;}

  #footer.djt-footer{padding:40px 0 30px;}
  #footer.djt-footer .ft-body{flex-direction:column;gap:32px;}
  #footer.djt-footer .ft-left{flex:none;max-width:100%;width:100%;}
  #footer.djt-footer .ft-right{width:100%;margin-bottom:30px;}
  #footer.djt-footer .ft-sitemap{grid-template-columns:repeat(2,1fr);gap:24px 20px;}
  #footer.djt-footer .ft-links{gap:14px;}
  #footer.djt-footer .ft-info span.divider{display:none;}
  #footer.djt-footer .ft-info span.item{display:block;margin:0 0 4px 0;}
  #footer.djt-footer .info-row{margin:0;}
  #footer.djt-footer #top_btn{right:20px;}
}

/* ---- 768px~1023px 전용 추가 규칙: 도료계산기 + 배너광고이미지를 1:1 비율로 좌우 배치 ----
   [주의] 공지사항·견적의뢰·업체검색은 JS로 좌측(.left-col)으로 이동되어 이 구간에서는
   .right-col 안에 도료계산기(#djtCalcBox)·배너슬라이더(.djt-side-slider) 둘만 남으므로
   nth-child 대신 id/class로 직접 지정 ---- */
@media screen and (min-width:768px) and (max-width:1023px){
  #djt-main .right-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:none;min-width:0;}
  /* 도료계산기 + 배너광고이미지 — 1:1 비율로 같은 줄에 좌우 배치(grid stretch로 높이도 동일) */
  #djt-main .right-col > #djtCalcBox,
  #djt-main .right-col > .djt-side-slider{grid-column:span 1;min-width:0;}
  /* 계산기 2x2 정렬·배너 원본 비율은 djt-index.css의 max-width:1023px 통합 블록에서 전담(중복 제거) */
}

/* ---- sm 미만 (<640px): 폰 화면 — 1~2열로 최종 축소 ---- */
@media screen and (max-width:639px){
  #pc_header.djt-pc-header .header-links span,
  #pc_header.djt-pc-header .header-links .hl-divider{display:none;} /* 구분자/보조텍스트 생략, 핵심 링크만 */
  #djt-main .feature-grid{grid-template-columns:repeat(2,1fr);}
  #djt-main .used-grid,#djt-main .partners{grid-template-columns:repeat(2,1fr);}
  #djt-main .mid-banner-row{grid-template-columns:1fr;gap:12px;}
  #djt-main .visit-grid{grid-template-columns:1fr;}
  /* .lb-stage 스타일은 djt-hero-row.css 전담(중복 규칙 제거) */
  #djt-main .mini-stats{grid-template-columns:1fr 1fr;gap:8px;}
  #djt-main .login-box{padding:16px;}
  #footer.djt-footer .ft-sitemap{grid-template-columns:1fr 1fr;gap:20px 16px;}
  #footer.djt-footer .ft-info b.company-name{font-size:17px;}
}
