/* 기본 초기화 */
* { box-sizing: border-box; }
body { 
    background-color: #f8f9fa; 
    margin: 0; 
    padding-top: 0px; 
	font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* 헤더 스타일 */
header {
	display:none;
    position: fixed; top: 0; left: 0; right: 0; height: 60px; 
    background: #fff; border-bottom: 1px solid #ddd; 
    display: flex; align-items: center; justify-content: space-between; 
    padding:0px; z-index: 1000; 
}

#innerHeader {
	position:absolute; top:0px; bottom:0px; left:15px; right:15px;
}

#menu-icon {position:absolute; left:0px; top:15px; width:30px; height:30px; font-size: 24px; cursor: pointer; line-height: 1; }
.search-box { width: 100%; padding: 8px; border: 3px solid #ccc; border-radius: 20px; font-size:12pt;}
#user-icon {position:absolute; right:0px; top:13px; width: 30px; height: 30px; background: #eee; border-radius: 50%; }

/* 카드 그리드 - 레이아웃 설정 */
#viewBody { 
    display:none; 
	position:relative; margin-left:10px; margin-right:10px; height:auto; overflow:hidden; background:#fff; border:1px solid #eee;
}

#searchBody { 
    display:none; position:relative; margin-left:10px; margin-right:10px; height:auto; overflow:hidden; background:#fff; border:1px solid #eee;
}

#nameBody { 
    display: grid; 
    padding: 0 5px; 
    gap: 5px; 
    grid-template-columns: repeat(1, 1fr); 
}

#upperBody {display:flex; position:relative; margin-top:80px; height:auto; min-height:100px; overflow:hidden; margin-left:15px; margin-right:15px;}

#userNick {display:none;}
#logo {cursor:pointer;}

@media (max-width: 600px) { 
	#logo {display:none;}
	#header-center {position:absolute; left:60px; right:70px; height:30px; top: 10px;}
	#userNick {display:none;}
	.card {position:relative; margin-left:5px; margin-right:5px; height:250px; border:1px solid #e0e0e0; background:#fff; overflow:hidden;}
	.cardWrap {float:left; position:relative; margin-top:10px; height:auto; padding-left:0px; background:#f8f9fa;}
	#mainBody {position:relative; margin-top:0px; margin-left:0px; flex:1; height:auto; overflow:hidden;}
}
/* 601px ~ 900px: 카드 2개 */
@media (min-width: 601px) and (max-width: 1200px) { 
	#logo {position:absolute; left:50px; width:100px; display:block; left:50px; font-size: 22px; font-weight: 800; color: #000; }
	#header-center {position:absolute; left:50%; width:250px; height:30px; top: 10px; transform: translate(-50%, 0);}
	#userNick {display:block; position:absolute; right:40px; width:150px; top:18px; font-weight: bold; text-align:right;}
	.card {position:relative; margin-left:5px; margin-right:5px; height:250px; border:1px solid #e0e0e0; background:#fff; overflow:hidden;}
	.cardWrap {float:left; position:relative; margin-top:10px; width:50%; height:auto; padding-top:0px; padding-left:0px; padding-right:0px; background:#f8f9fa;}
	#mainBody {position:relative; margin-top:0px; margin-left:0px; margin-right:0px; height:auto; overflow:hidden;}
	#rightBody {position:relative; margin-right:0px; width:50%; height:auto; overflow:hidden; border:0px solid #ccc;}
}

/* 1301px 이상: 카드 4개, 여백 및 간격 16px */
@media (min-width: 1201px) { 
	#logo {position:absolute; left:30px; top:12px; width:100px; display:block; font-size: 22px; font-weight: 800; color: #000; }
	#header-center{position:absolute; width:300px; height:30px; top: 10px; left: 50%; transform: translate(-50%, 0); /* 가로 세로 정중앙 이동 */}
	#userNick {display:block; position:absolute; right:40px; width:150px; top:15px; font-weight: bold; text-align:right;}
	.card {position:relative; margin-left:5px; margin-right:5px; height:250px; border:1px solid #e0e0e0; background:#fff; overflow:hidden;}
	.cardWrap {float:left; position:relative; margin-top:0px; margin-bottom:10px; margin-left:0px; width:50%; height:auto; padding-top:0px; padding-left:0px; padding-right:0px; background:#f8f9fa;}
	#mainBody {float:left; position:relative; margin-top:0px; margin-right:20px; flex:1; height:auto; overflow:hidden;}
	#listBody {position:relative; margin-top:0px; margin-left:0px; margin-right:0px; height:auto; overflow:hidden;}
	#rightBody {float:right; position:relative; margin-right:0px; width:370px; height:auto; overflow:hidden; border:0px solid #ccc;}
}

.meta-info { padding: 12px 15px 0 15px; font-size: 14px; color: #777; font-weight: 500; }
.title-box { width: 100%; padding: 5px 15px 15px 15px; display: flex; align-items: baseline; min-width: 0; }
.category { font-size: 15px; font-weight: bold; color: #007bff; margin-right: 8px; flex-shrink: 0; }
.title { 
    font-size: 23px; font-weight: bold; color: #111; 
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; 
}
.body-wrapper { padding: 0 15px 15px 15px; overflow: hidden; flex: 1; }
.thumb-box { float: right; margin-left: 12px; margin-bottom: 5px; max-width: 120px; max-height: 150px; overflow: hidden; }
.thumb-box img { width: 100%; height: auto; display: block; border-radius: 4px; }

/* 본문 요약: 5줄 말줄임표 처리 */
.summary { 
    font-size: 18px; 
    color: #444; 
    line-height: 1.6; 
    text-align: justify;
    display: -webkit-box; 
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical; 
    overflow: hidden;
}

/**********************/
.namecard {position:relative; margin-top:10px; margin-left:0px; margin-right:0px; min-height:220px; padding: 10px; background: #ffffff; border: 1px solid #ddd; position: relative; cursor:pointer;}
.cardcompany {float:left; position:relative; font-size: 17pt; font-weight: bold; color: #5582fa; margin-left:0px; width:auto; margin-top:0px; height:26px;}
.cardbusiness {float:left; position:relative; font-size: 12pt; margin-left:10px; width:auto; margin-top:7px; height:26px;}
.pnWrap {position:absolute; top:55px; height:40px; left:50px; right:160px;}
.cardposition {float:left; position:relative; margin-top:5px; margin-right:20px; height:30px; padding-top:3px; width:auto;}
.cardname {float:left; position:relative; margin-top:0px; margin-right:0px; height:30px; padding-top:3px; width:auto; font-size:17pt;}
.cardurl {display:none; position:absolute; bottom:115px; left:10px; right:120px;}
.cardtel {position:absolute; bottom:85px; left:10px; right:120px;}
.cardaddress {position:absolute; bottom:55px; left:10px; right:120px;}
.cardphoto {position:absolute; top:45px; right:10px; height:120px; width:90px;}
.cardiconWrap {position:absolute; bottom:10px; left:10px; right:10px; height:30px;}
.cardicon {float:left; position:relative; margin-top:0px; margin-left:0px; margin-right:5px; height:30px;}
/******************************/