@charset "utf-8";

/* ============================================
   협력사 안내 (site_link) 전용 스타일
   카테고리 필터 + 로고 카드 그리드
   색상은 레이아웃 공통(--color) 사용
   ============================================ */

.site_link .sl_head {margin-bottom:2rem;}
.site_link .sl_lead {font-size:1.0625rem; color:#556; line-height:1.7; margin-bottom:1.5rem; word-break:keep-all;}

/* --- 카테고리 필터 --- */
.sl_filter {display:flex; flex-wrap:wrap; gap:0.5rem;}
.sl_filter .chip {display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #d9e0ea; border-radius:50rem; color:#556; font-size:0.9688rem; font-weight:600; padding:0.5rem 1.125rem; cursor:pointer; transition:all .18s ease-out;}
.sl_filter .chip .cnt {font-size:0.8125rem; color:#9aa4b3; font-weight:700;}
.sl_filter .chip:hover {border-color:var(--color); color:var(--color);}
.sl_filter .chip.on {background:var(--color); border-color:var(--color); color:#fff;}
.sl_filter .chip.on .cnt {color:rgba(255,255,255,0.8);}

/* --- 로고 카드 그리드 --- */
.pt_grid {display:grid; grid-template-columns:repeat(2, 1fr); gap:1rem; margin-top:2rem;}
.pt_item.hide {display:none;}
.pt_card {display:flex; flex-direction:column; align-items:center; height:100%; background:#fff; border:1px solid #e5e9f0; border-radius:16px; padding:1.375rem 1rem 1.125rem; box-shadow:0 4px 14px rgba(30,50,90,0.05); transition:transform .22s ease-out, box-shadow .22s ease-out, border-color .22s ease-out;}
.pt_card.is-link {cursor:pointer;}
.pt_card.is-link:hover {transform:translateY(-5px); box-shadow:0 12px 26px rgba(30,50,90,0.12); border-color:#c8d5ea;}
.pt_card .logo {display:flex; justify-content:center; align-items:center; width:100%; height:74px; margin-bottom:0.875rem;}
.pt_card .logo img {max-width:88%; max-height:100%; object-fit:contain; filter:grayscale(100%); opacity:0.78; transition:filter .25s ease-out, opacity .25s ease-out;}
.pt_card.is-link:hover .logo img {filter:grayscale(0); opacity:1;}
.pt_card .nm {font-size:1rem; font-weight:600; color:#2d3a4f; text-align:center; line-height:1.35; word-break:keep-all; margin-bottom:0.625rem; flex:1 0 auto; display:flex; align-items:center;}
.pt_card .cat_tag {font-size:0.75rem; font-weight:700; border-radius:50rem; padding:2px 10px;}
.pt_card .cat_tag.it {background:#e9f0fb; color:#2b62c4;}
.pt_card .cat_tag.eng {background:#e9f5f6; color:#1f8290;}
.pt_card .cat_tag.const {background:#fdf1e3; color:#c9781c;}
.pt_card .cat_tag.etc {background:#f0ecfa; color:#7a52bd;}

.sl_empty {display:none; text-align:center; color:#8a94a6; padding:3rem 0; font-size:1.0625rem;}
.sl_note {margin-top:2rem; background:#f7f9fc; border:1px dashed #d3dbe8; border-radius:12px; padding:1rem 1.25rem; color:#667; font-size:0.9063rem; line-height:1.6;}

@media screen and (min-width:641px) {
	.pt_grid {grid-template-columns:repeat(3, 1fr);}
}
@media screen and (min-width:1025px) {
	.pt_grid {grid-template-columns:repeat(4, 1fr); gap:1.25rem;}
}
