@charset "utf-8";

/* =========================================================
   전체 메인(개편) 전용 스타일 - front.css  (fm-* 클래스)
   - front.php 에서만 로드($_arrPageCss 훅 — top_skin)
   - 디자인 토큰은 common.css :root 공용(--brand/--up/--down/--line 등)
   - 기준 폰트크기 16px(콘텐츠) / 제목·칩은 비례 확대·축소 / 들여쓰기 Tab
   ========================================================= */

.fm{padding:26px 0 48px;}
.fm .sec__sub{font-size:16px;color:var(--muted);margin:6px 0 0;}
.fm-sec{margin-top:34px;}

/* ---------- (A) 데이터 스트립 ---------- */
.fm-strip{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 18px;font-size:15px;color:var(--muted);}
.fm-strip__it b{color:var(--text);font-weight:700;margin-right:6px;}
.fm-strip__it--good b{color:var(--brand);}
.fm-strip__it--warn b{color:var(--up);}
.fm-strip__it--gen{margin-left:auto;font-size:12px;color:var(--muted-2);font-family:var(--mono);}

/* ---------- 점수 뱃지 / 등락률 ---------- */
.fm-pts{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:2px 8px;border-radius:999px;font-size:14px;font-weight:800;font-family:var(--mono);}
.fm-pts--good{background:var(--chip);color:var(--brand-ink);}
.fm-pts--warn{background:#FDEBEA;color:#B3271E;}
.fm-cr{font-size:14px;font-weight:700;}
.fm-cr--na{color:var(--muted-2);font-weight:400;}

/* ---------- 종목 셀(ti_stock_cell p='fm') ---------- */
.fm-nm{font-size:16px;font-weight:700;color:var(--text);text-decoration:none;}
a.fm-nm:hover{color:var(--brand);text-decoration:underline;}
.fm-nm--lock{color:var(--muted);}
.fm-cd{margin-left:6px;font-size:12px;color:var(--muted-2);font-family:var(--mono);}

/* ---------- (B) 오늘의 주요공시 카드 ---------- */
.fm-today{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.fm-card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:6px;}
.fm-card--good{border-left-color:var(--brand-2);}
.fm-card--warn{border-left-color:var(--up);}
.fm-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.fm-card__label{font-size:16px;font-weight:700;color:var(--ink-2);}
.fm-card__brief{font-size:15px;color:var(--muted);}
.fm-card__chips{display:flex;flex-wrap:wrap;gap:6px;}
.fm-mini{font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line-2);border-radius:6px;padding:2px 7px;}
.fm-card__foot{margin-top:auto;padding-top:8px;border-top:1px dashed var(--line-2);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.fm-card__dt{font-size:12px;color:var(--muted-2);}
.fm-card__ut{display:inline-flex;align-items:center;gap:8px;}

/* ---------- (B)+(C) 주요공시 : 뉴스 2단 ----------
   좌우 분할 카드 하단 끝선 규칙 동일 적용(stretch) */
.fm-b2{display:grid;grid-template-columns:2fr 1fr;gap:16px;}
.fm-b2--solo{grid-template-columns:1fr;}
.fm-b2__main{min-width:0;}
.fm-b2 .fm-today{grid-template-columns:repeat(2,1fr);}
.fm-b2--solo .fm-today{grid-template-columns:repeat(3,1fr);}
.fm-b2__side{min-width:0;}
.fm-nw{height:100%;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--ink-3);border-radius:var(--r-sm);padding:16px 18px;box-shadow:var(--sh);display:flex;flex-direction:column;}
.fm-nw__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.fm-nw__tt{margin:0;font-size:19px;font-weight:800;color:var(--ink);}
.fm-nw__tabs{display:inline-flex;gap:6px;}
.fm-nw__tab{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--sans);}
.fm-nw__tab.is-on{background:var(--chip);color:var(--brand-ink);border-color:var(--brand);}
.fm-nw__list{list-style:none;margin:0;padding:0;}
.fm-nw__it{border-top:1px solid var(--line-2);}
.fm-nw__it:first-child{border-top:0;}
.fm-nw__it a,.fm-nw__noln{display:block;padding:9px 2px;text-decoration:none;}
.fm-nw__it a:hover .fm-nw__ti{color:var(--brand);text-decoration:underline;}
.fm-nw__kw{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:6px;font-size:11.5px;font-weight:700;color:var(--chip-ink);background:var(--chip);vertical-align:middle;}
.fm-nw__ti{font-size:15px;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fm-nw__dt{display:block;margin-top:3px;font-size:12px;color:var(--muted-2);}
.fm-nw__none{padding:24px 4px;text-align:center;color:var(--muted-2);font-size:14px;}

/* ---------- (D)(E) 호재/주의 TOP10 2단 ----------
   좌우 분할 카드는 아래 끝선을 항상 맞춘다(그리드 기본 stretch — align-items:start 금지) */
.fm-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
/* min-width:0 — 그리드 아이템 기본값(auto)이면 안의 다열 표가 컬럼 폭을 밀어 가로 스크롤 래퍼가 무력화됨(2026-08-10) */
.fm-col{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px;box-shadow:var(--sh);border-top:4px solid var(--line);}
.fm-col--good{border-top-color:var(--brand-2);}
.fm-col--warn{border-top-color:var(--up);}
.fm-col__tt{margin:0 0 12px;font-size:19px;font-weight:800;color:var(--ink);}
.fm-col__sub{margin:-6px 0 14px;font-size:13.5px;color:var(--muted);line-height:1.6;}
.fm-col--fill{height:100%;}
/* 패널 안 주요공시 카드 — 카드 속 카드라 그림자 제거·서피스 톤으로 한 단계 낮춤(뉴스 패널과 통일) */
.fm-col .fm-card{box-shadow:none;background:var(--surface);border-color:var(--line-2);}
.fm-col--good .fm-col__tt{color:var(--brand-ink);}
.fm-col--warn .fm-col__tt{color:#B3271E;}
.fm-list{list-style:none;margin:0;padding:0;}
.fm-row{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line-2);}
.fm-row:first-child{border-top:0;}
.fm-row__rank{flex:0 0 24px;font-size:15px;font-weight:800;color:var(--muted-2);font-family:var(--mono);text-align:center;padding-top:2px;}
.fm-list .fm-row:nth-child(-n+3) .fm-row__rank{color:var(--ink);}
.fm-row__body{flex:1;min-width:0;}
.fm-row__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.fm-row__chips{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}

/* ---------- 근거 공시 칩 ---------- */
.fm-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:3px 9px;background:var(--surface);}
.fm-chip b{font-weight:700;color:var(--text);}
.fm-chip i{font-style:normal;font-weight:800;font-family:var(--mono);font-size:12px;}
.fm-chip--good i{color:var(--brand);}
.fm-chip--warn i{color:var(--up);}
.fm-chip em{font-style:normal;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;}

/* ---------- (F)(G) 재무 체크·해외재무 테이블 ---------- */
.fm-col--plain{border-top-color:var(--ink-3);}
/* 표 가로 스크롤 래퍼 — 모바일에서 다열 표가 패널 밖으로 넘쳐 레이아웃이 깨지는 문제 방지 (2026-08-10) */
.fm-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.fm-tbl{width:100%;min-width:540px;border-collapse:collapse;font-size:15px;}
.fm-tbl--wide{min-width:760px;}   /* 해외재무 8컬럼 */
.fm-tbl th{padding:8px 10px;border-bottom:2px solid var(--line);font-size:13px;color:var(--muted);font-weight:700;text-align:left;white-space:nowrap;}
.fm-tbl td{padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:middle;}
.fm-tbl tbody tr:last-child td{border-bottom:0;}
.fm-tbl tbody tr:hover td{background:var(--surface);}
.fm-t-num{text-align:right;font-family:var(--mono);white-space:nowrap;}
.fm-tbl th.fm-t-num{text-align:right;}
.fm-t-q{font-size:13px;color:var(--muted);white-space:nowrap;}
.fm-t-why{font-size:13.5px;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fm-t-btn{width:56px;text-align:center;}
.fm-badge-rev{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;font-size:11px;font-weight:700;color:#B3271E;background:#FDEBEA;vertical-align:middle;}

/* ---------- (H) 국가 재정 지도 티저 ---------- */
.fm-cols--map{grid-template-columns:2fr 1fr;}
.fm-map{width:100%;height:400px;}
.fm-mapside__tx{margin:0 0 12px;font-size:16px;color:var(--muted);line-height:1.7;}
.fm-mapside__hint{margin:14px 0 0;font-size:13px;color:var(--muted-2);}

/* ---------- 반응형 ---------- */
@media (max-width:1120px){
	.fm-today{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:940px){
	.fm-b2{grid-template-columns:1fr;}
	.fm-b2 .fm-today{grid-template-columns:repeat(2,1fr);}
	.fm-cols{grid-template-columns:1fr;}
	.fm-cols--map{grid-template-columns:1fr;}
	.fm-map{height:340px;}
	.fm-strip{font-size:14px;gap:8px 16px;}
	.fm-strip__it--gen{margin-left:0;flex-basis:100%;}
}
/* 폰(패드 미만): 주요공시 카드 1열 — 패드(768px↑)는 2열 유지 (2026-08-10 사용자 확정) */
@media (max-width:767px){
	.fm-today{grid-template-columns:1fr;}
	.fm-b2 .fm-today{grid-template-columns:1fr;}
}
@media (max-width:640px){
	.fm-chip em{max-width:140px;}
	.fm-tbl{font-size:14px;min-width:500px;}
	.fm-tbl--wide{min-width:700px;}
	.fm-t-why{max-width:110px;}
	.fm-col{padding:14px;}
	.fm-card__head{flex-wrap:wrap;}
	.fm-strip{padding:10px 14px;}
}
