:root{
  --bg:#fff; --text:#111; --muted:#666; --line:#e9e9e9;
  --accent:#1a3b94;              /* 네이비 */
  --gap:24px;                    /* 컬럼 간격 */
  --side-width:300px;            /* 데스크톱 사이드바 폭 */
  --sticky-top:72px;             /* 헤더 아래 여백(스크립트가 자동보정) */
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font:16px/1.7 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
img{max-width:100%;height:auto;display:block}
.content-wrap{max-width:1000px;margin:0 auto;padding:16px}

/* 헤더/GNB */
.site-header{padding-top:18px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.site-title{margin:0 0 8px 6px;font-size:28px;line-height:1}
.site-title a{text-decoration:none;color:var(--text)}

/* 검색: 우측 */
.site-search{ margin-left:auto; display:flex; gap:6px }
.site-search input{ border:1px solid var(--line); border-radius:8px; padding:8px 10px }
.site-search button{ border:1px solid var(--line); border-radius:8px; padding:8px 12px; background:#fff }

.site-nav{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}
.site-nav ul,.site-nav .tt_category{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:18px}
.site-nav a{text-decoration:none;color:var(--muted)}
.site-nav a:hover{color:var(--text)}
.site-nav .selected>a{color:var(--text);border-bottom:2px solid var(--text)}
.site-nav a img,.tt_category a img{  display:inline !important;      /* 전역 img{display:block} 무효화 */  vertical-align:middle;  margin-left:6px;  height:14px; width:auto;  line-height:1;}

/* 목록 카드(텍스트+썸네일) — T3 토큰 전용 */
.list_content{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:start}
.list_content .thumbnail_post{flex:0 0 160px; display:block; background:#f4f4f4; border-radius:10px; overflow:hidden; aspect-ratio:16/10;}
.list_content .thumbnail_post img{width:100%;height:100%;object-fit:cover;display:block;}
.list_content .thumbnail_post .thumb-fallback{ display:block; width:100%; height:100%; background:#fff; }

.list_content .postitem__body{flex:1; min-width:0;}
.list_content .tit_post{display:block;font-size:24px;line-height:1.35;margin:0 0 6px;color:#111}

.list_content .txt_post{
  margin:6px 0 8px; color:var(--muted); font-size:15px; line-height:1.7;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis; max-height:calc(1.7em * 3); overflow-wrap:anywhere;
}

.list_content .detail_info{margin-top:4px;color:var(--muted);font-size:13px}
.list_content .link_cate{color:var(--accent);text-decoration:none}
.txt_bar{display:inline-block;width:1px;height:10px;background:#ddd;margin:0 6px}
@media (max-width:640px){.list_content{grid-template-columns:1fr}}

/* 상세 */
.skin_view .area_title{margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid var(--line);text-align:center}
.skin_view .tit_category a{font-weight:700;color:var(--accent);text-decoration:none}
.skin_view .tit_post{margin:6px 0 0;font-size:34px;line-height:1.25;color:#111}
.skin_view .txt_detail{display:block;margin-top:10px;color:var(--muted);font-size:13px}
.area_view{margin-top:14px}
.area_view img{border-radius:8px}

/* TOC */
.aros-toc{border:1px solid var(--line);background:#fafafa;border-radius:10px;padding:10px 12px;margin:14px 0}
.toc-center{font-weight:700;margin:0 0 8px;text-align:center}
#toc{list-style:none;margin:0;padding:0}
#toc li{margin:6px 0}
#toc a{color:var(--muted);text-decoration:none}
#toc a:hover{color:var(--accent)}

/* 페이징 */
.area_paging{margin:18px 0;text-align:center}
.area_paging .inner_paging a{display:inline-block;border:1px solid var(--line);padding:6px 10px;border-radius:8px;margin:0 4px;text-decoration:none;color:#111}

/* 푸터 */
.site-footer{border-top:1px solid var(--line);margin-top:20px;padding-top:12px;color:var(--muted);font-size:13px}

/* 목록 요약 3줄 말줄임 */
.list_content .txt_post,
.postitem__excerpt{
  display: -webkit-box;
  -webkit-line-clamp: 3;        /* 3줄 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.7;
  max-height: calc(1.7em * 3);  /* 접근성 보정 */
  overflow-wrap: anywhere;      /* 긴 단어 줄바꿈 */
}

/* 헤더 가로 바: 왼쪽 카테고리, 오른쪽 검색 */
.head-bar{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; margin-top:8px; border-top:1px solid var(--line); padding-top:8px;
}

/* 카테고리: 가로 나열 */
.site-nav{border:0; margin:0; padding:0;}
.site-nav ul,.site-nav .tt_category{
  list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:18px;
}
.site-nav a{text-decoration:none; color:var(--muted);}
.site-nav a:hover{color:var(--text)}
.site-nav .selected>a{color:var(--text); border-bottom:2px solid var(--text)}

/* 검색 박스: 오른쪽 정렬 */
.site-search{margin:0 0 0 auto; display:flex; gap:6px}
.site-search input{border:1px solid var(--line); border-radius:8px; padding:8px 10px}
.site-search button{border:1px solid var(--line); border-radius:8px; padding:8px 12px; background:#fff}

/* 모바일 헤더 스택 */
@media (max-width:640px){
  .head-bar{ flex-direction:column; align-items:stretch }
  .site-nav a{ font-size:14px }
  .site-nav .tt_category .category_list, .site-nav .cat-list>ul{ gap:14px }
  .site-search{ width:100% } .site-search input{ flex:1 }
}

/* '분류 전체보기' 숨김 */
#gnb a.link_tit[href$="/category"],
.tt_category > a.link_tit[href$="/category"]{display:none !important;}

/* 카테고리: 한 줄 정렬 + 간격 + 볼드 */
.site-nav{ flex:1; min-width:0; border:0; margin:0; padding:0; }
.site-nav .tt_category,
.site-nav .tt_category .category_list,
.site-nav .cat-list>ul{
  list-style:none; margin:0; padding:0;
  display:flex !important; flex-wrap:nowrap !important;
  gap:24px; align-items:center; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.site-nav .category_list > li,
.site-nav .cat-list > ul > li{ margin:0 !important; }

.site-nav a{
  text-decoration:none; color:var(--muted);
  font-weight:700; font-size:16px; letter-spacing:.2px;
}
.site-nav a:hover{color:var(--text);}
.site-nav .selected>a{color:var(--text); border-bottom:2px solid var(--text)}

/* 데스크톱에서 간격 조금 더 */
@media (min-width:1024px){
  .site-nav .tt_category .category_list,
  .site-nav .cat-list > ul{ gap:28px; }
  .site-nav a{ font-size:17px; }
}

/* 모바일 튜닝 */
@media (max-width:640px){
  .site-nav a{ font-size:14px; }
  .site-nav .tt_category .category_list,
  .site-nav .cat-list > ul{ gap:14px; }
}

/* 광고 공통 */
.ad{margin:16px 0;text-align:center}
.ad--top{margin-top:8px}
.ad--bottom{margin-bottom:24px}

/* 사이드바 카드 스타일 */
.side-col{position:sticky; top:16px; align-self:start}
@media (max-width:992px){ .side-col{position:static} }

.side-widgets > *{
  background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:14px; margin-bottom:16px; box-shadow:0 2px 10px rgba(0,0,0,.03);
}

/* 사이드바 제목 일반화 */
.side-widgets h2, .side-widgets h3{
  font-size:16px; font-weight:700; margin:0 0 10px; color:var(--text);
}

/* 목록 위젯 공통 */
.side-widgets ul{list-style:none; padding:0; margin:0}
.side-widgets li{margin:6px 0}
.side-widgets a{text-decoration:none; color:var(--muted)}
.side-widgets a:hover{color:var(--text)}

/* 최근글 줄바꿈/말줄임 */
.side-widgets .recent_post a,
.side-widgets .tt-recent-post a{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis; line-height:1.5;
}

/* 사이드바 카테고리 트리 가로/들여쓰기 */
.side-widgets .tt_category .category_list > li{margin:6px 0}
.side-widgets .tt_category .sub_category_list{margin-left:12px}

/* N 아이콘(신규) 텍스트 옆 정렬 */
.side-widgets a img{display:inline !important; vertical-align:middle; margin-left:6px; height:14px; width:auto}

/* 캘린더 기본 정리(있는 경우) */
.side-widgets .tt-calendar{width:100%; border-collapse:collapse}
.side-widgets .tt-calendar th,
.side-widgets .tt-calendar td{padding:6px; text-align:center}

/* 스티키 사이드바: 모든 해상도에서 유지 */
:root{
  --gap:24px;
  --side-width:150px;   /* 데스크톱 사이드바 폭 */
  --sticky-top:72px;    /* 헤더 아래 여백 */
}

/* 2열 그리드: 데스크톱 */
.grid-2col{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--side-width);
  gap:var(--gap);
  align-items:start;
}
.main-col,.side-col{ min-width:0; }   /* 컨텐츠 오버플로 방지 */

/* 사이드바 스티키(데스크톱만) */
.side-col{
  position:sticky;
  top:var(--sticky-top);
  align-self:start;
  height:max-content;
}

/* 스티키 방해 요소 제거 */
.content-wrap, .grid-2col, .main-col{
  overflow: visible !important;
  transform: none !important;
}

/* sticky 방해 요소 해제 */
.content-wrap, .grid-2col, .main-col{ overflow:visible !important; transform:none !important; }

/* 사이드바 스티키(데스크톱만) */
.side-col{
  position:sticky;
  top:var(--sticky-top);
  align-self:start;
  height:max-content;
}

/* ===== 광고/미디어 폭 안전장치 ===== */
.ad{ margin:16px 0; text-align:center; }
.ad ins.adsbygoogle{
  display:block !important;
  width:100% !important;      /* 컨테이너에 맞춰 수축 */
  max-width:100% !important;
  min-height:120px;           /* 깜빡임 줄이기 */
}
img,video,iframe{ max-width:100%; height:auto; }

/* ===== 헤더바/카테고리: 좁은 폭 대응 ===== */
.head-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.site-nav{ flex:1; min-width:0; }
.site-nav .tt_category,
.site-nav .tt_category .category_list,
.site-nav .cat-list>ul{
  display:flex !important; flex-wrap:nowrap !important;
  gap:24px; align-items:center; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
@media (max-width:640px){
  .site-nav .tt_category, .site-nav .tt_category .category_list, .site-nav .cat-list>ul{ gap:14px; }
}

/* 모바일(≤1024px)에서 사이드바 숨김 + 1컬럼 전환 */
@media (max-width:512px){
  .grid-2col{ grid-template-columns: 1fr; gap:16px; }
  .ad--side-150x600{ display:none !important; }
}

/* 사이드 고정형 150×600: 전용 클래스가 항상 이깁니다*/
.ad--side-150x600{ width:150px; margin:10px auto 16px; }
.ad--side-150x600 ins.adsbygoogle{ width:150px !important; height:600px !important; }

/* 하단 광고 보호 */
.ad--bottom{ display:block !important; }
.ad--bottom ins.adsbygoogle{ display:block !important; }
.ad--bottom{ max-width:1000px; margin-left:auto; margin-right:auto; } /* 컨테이너 폭 보장 */

