@charset "utf-8";

.floatLeft{ float:left;}
.floatRight{ float:right;}
.clearLeft{ clear:left;}
.clearRight{ clear:right;}

.widgetContainer .open{ display:block !important;}
.widgetContainer a{ text-decoration:none;}
.widgetContainer a:hover,
.widgetContainer a:active,
.widgetContainer a:focus{ text-decoration:underline;}
.widgetContainer img{ border:0;}
.widgetContainer em{ position:relative; line-height:1; display:inline-block; margin:-5px 0; *padding:0 1px; font-style:normal;}
.widgetContainer form{ margin:0; padding:0;}
.widgetContainer fieldset{ border:0; margin:0; padding:0;}

.widgetTabA{ position:relative; margin:0 0 10px 0; padding:0; border-bottom:2px solid;}
.widgetTabA:after{ content:""; display:block; clear:both;}
.widgetTabA li{ float:left; margin-right:1px; list-style:none; background-repeat:no-repeat; background-position:0 0;}
.widgetTabA li.active{ background-position:0 -30px;}
.widgetTabA li a{ position:relative; left:2px; float:left; height:20px; padding:8px 15px 0 15px; text-decoration:none; font-size:12px; background-repeat:no-repeat; background-position:right 0;}
.widgetTabA li.active a{ background-position:right -30px; font-weight:bold; letter-spacing:-1px;}

ul.widgetA { margin:0; padding:0; list-style:none; }
ul.widgetA li { margin:0; padding:0; list-style:none; }
.widgetTableA { width:100%; font-size:12px; position:relative; border:0;}
.widgetTableA td{ border:0; line-height:1.5; white-space:nowrap; vertical-align:top; padding:1px 5px 1px 5px;}
.widgetTableA td.title{ width:100%; white-space:normal;}
.widgetTableA td .board{ padding-right:5px;}
.widgetTableA td .notice{ padding-right:5px;}
.widgetTableA td .category{ padding-right:5px; font-weight:normal;}
.widgetTableA td .replyNum a{ font:10px Tahoma;}
.widgetTableA td .trackbackNum a{ font:10px Tahoma;}
.widgetTableA td.summary{ white-space:normal;}
.widgetTableA td.time{ font-size:11px; font-family:Tahoma;}


.widgetTabC{ margin:0; padding:0; font-size:12px; border-top:1px solid;}
.widgetTabC li{ list-style:none; border-bottom:1px solid; margin-bottom:1px;}
.widgetTabC li a{ display:block; padding:7px 0 6px 10px; text-decoration:none;}

dl.widgetDivider{ margin:0;}
dl.widgetDivider dt{ position:absolute; width:0; height:0; overflow:hidden; font-size:0; line-height:0;}
dl.widgetDivider dd{ display:none; margin:0;}

.widgetNavigator{ margin:0; padding:0; text-align:right; clear:both;}
.widgetNavigator li{ list-style:none; display:inline;}
.widgetNavigator li button{ width:16px; height:16px; padding:0; background-color:transparent; background-image:url(../img/white/buttonWidgetNavigation.gif); border:1px solid #999; cursor:pointer;}
.widgetNavigator li button.prev{ background-position:left center; *background-position:-1px center;}
.widgetNavigator li button.next{ background-position:right center; *background-position:13px center;}
.widgetNavigator li button span{ position:absolute; display:block; width:0; height:0; overflow:hidden; visibility:hidden;}



/* widgetThumb */
.widgetThumb{ position:relative; margin:0; text-align:center; font-size:12px; line-height:1.5;}
.widgetThumb .thumb{ display:block; margin-bottom:5px; position:relative; text-decoration:none;}
.widgetThumb .thumb img{ display:block; width:100%;}
.widgetThumb .thumb .imgNone{ display:block; position:relative; width:100%; padding-top:30px; padding-bottom:50px; background:#eee; text-align:center; cursor:pointer; color:#000;}
.widgetThumb .thumb .category{ display:block; position:absolute; width:100%; bottom:0; left:0; padding:2px 0 0 0 !important; cursor:pointer; text-align:center; font-weight:normal; background:#000; color:#fff; opacity:0.6;  filter:alpha(opacity=60); -ms-filter:alpha('opacity=60'); }
.widgetThumb .title{ display:block;}
.widgetThumb .author{ display:block;}
.widgetThumb .date{ font-size:11px; font-family:Tahoma;}
.widgetThumb .hour{ font-size:11px; font-family:Tahoma;}

.widgetZineA{ position:relative; margin:0; padding:0; font-size:12px; line-height:1.5; }
.widgetZineA:after{ content:""; display:block; clear:both;}
.widgetZineA li { list-style:none; clear:both; margin-bottom:10px; padding-bottom:10px; overflow:hidden; }
.widgetZineA li p{ margin:0; padding:0;}
.widgetZineA li p.thumbArea{ position:relative; float:left; width:100px; margin-right:-100px; overflow:hidden;}
.widgetZineA li p.titleArea{ margin-left:120px; margin-bottom:4px;}
.widgetZineA li p.titleArea .board{ padding-right:5px;}
.widgetZineA li p.text{ margin-left:120px; margin-bottom:4px;}
.widgetZineA li p.authorArea{ margin-left:120px;}
.widgetZineA li .thumb{ display:block; position:relative; width:100px; height:75px; text-decoration:none; overflow:hidden;}
.widgetZineA li .thumb img{ position:relative; width:100%;}
.widgetZineA li .thumb .imgNone{ display:block; position:relative; width:100%; height:80%; padding-top:20%; background:#eee; text-align:center; cursor:pointer; color:#000;}
.widgetZineA li .thumb .category{ display:block; position:absolute; width:100%; bottom:0; left:0; padding:2px 0 0 0 !important; cursor:pointer; text-align:center; font-weight:normal; background:#000; color:#fff; opacity:0.6;  filter:alpha(opacity=60); -ms-filter:alpha('opacity=60'); }
.widgetZineA li .category{ padding-right:5px; font-weight:normal;}
.widgetZineA li .title{ font-weight:bold;}
.widgetZineA li .replyNum a{ font:10px Tahoma; margin:0 -1px;}
.widgetZineA li .trackbackNum a{ font:10px Tahoma; margin:0 -1px;}
.widgetZineA li .author{ margin-right:10px;}
.widgetZineA li .date{ font:11px Tahoma;}
.widgetZineA li .hour{ font:11px Tahoma;}

.widgetTabC{ border-color:#e5e5e5;}
.widgetTabC li{ border-color:#e5e5e5; background:#f8f8f8;}
.widgetTabC li a{ color:#333;}
.widgetTabC li a:hover,
.widgetTabC li a:active,
.widgetTabC li a:focus{ background:#eee;}
.widgetTabA{ border-color:#666;}
.widgetTabA li,
.widgetTabA li a{ background-image:url(../img/white/buttonWidgetTab.gif);}
.widgetTabA li a{ color:#333;}

.widgetA a.board { color:#333; padding-right:5px; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetA .notice{ color:#ff1a1a; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetA .category{ color:#333; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetA .replyNum a{ color:#ff1a1a;}
.widgetA .trackbackNum a{ color:#66c;}
.widgetA .author { color:#333;}
.widgetA .date{ color:#333;}
.widgetA .hour{ color:#888;}

.widgetTableA td.title a{ color:#333;}
.widgetTableA td .board{ color:#333; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetTableA td .notice{ color:#ff1a1a; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetTableA td .category{ color:#333; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetTableA td .replyNum a{ color:#ff1a1a;}
.widgetTableA td .trackbackNum a{ color:#66c;}
.widgetTableA td .author { color:#333;}
.widgetTableA td .date{ color:#333;}
.widgetTableA td .hour{ color:#888;}



.widgetThumb{ color:#333;}
.widgetThumb a{ color:#333;}
.widgetThumb .hour{ color:#888;}

.widgetZineA li .board{ color:#333; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetZineA li .title{ color:#666;}
.widgetZineA li .replyNum a{ color:#ff1a1a;}
.widgetZineA li .trackbackNum a{ color:#66c;}
.widgetZineA li .author{ color:#333;}
.widgetZineA li .category{ color:#333; background:url(../img/white/lineTextDiv.gif) no-repeat right center;}
.widgetZineA li .date{ color:#333;}
.widgetZineA li .hour{ color:#888;}
.widgetZineA li .text{ color:#888;}

.widgetContainer.black .widgetTabC{ border-color:#7f7f7f;}
.widgetContainer.black .widgetTabC li{ border-color:#7f7f7f; background:#222;}
.widgetContainer.black .widgetTabC li a{ color:#999;}
.widgetContainer.black .widgetTabC li a:hover,
.widgetContainer.black .widgetTabC li a:active,
.widgetContainer.black .widgetTabC li a:focus{ background:#333;}
.widgetContainer.black .widgetTabA{ border-color:#999;}
.widgetContainer.black .widgetTabA li,
.widgetContainer.black .widgetTabA li a{ background-image:url(../img/black/buttonWidgetTab.gif);}
.widgetContainer.black .widgetTabA li a{ color:#999;}

.widgetContainer.black .widgetTableA td.title a{ color:#999;}
.widgetContainer.black .widgetTableA td .board{ color:#999; background:url(../img/black/lineTextDiv.gif) no-repeat right center;}
.widgetContainer.black .widgetTableA td .notice{ color:#ff1a1a; background:url(../img/black/lineTextDiv.gif) no-repeat right center;}
.widgetContainer.black .widgetTableA td .category{ color:#999; background:url(../img/black/lineTextDiv.gif) no-repeat right center;}
.widgetContainer.black .widgetTableA td .replyNum{ color:#ff1a1a;}
.widgetContainer.black .widgetTableA td .trackbackNum{ color:#66c;}
.widgetContainer.black .widgetTableA td .author { color:#999;}
.widgetContainer.black .widgetTableA td .date{ color:#999;}
.widgetContainer.black .widgetTableA td .hour{ color:#888;}



.widgetContainer.black .widgetThumb{ color:#999;}
.widgetContainer.black .widgetThumb a{ color:#999;}
.widgetContainer.black .widgetThumb .hour{ color:#888;}

.widgetContainer.black .widgetZineA li .board{ color:#999; background:url(../img/black/lineTextDiv.gif) no-repeat right center;}
.widgetContainer.black .widgetZineA li .title{ color:#999;}
.widgetContainer.black .widgetZineA li .replyNum a{ color:#ff1a1a;}
.widgetContainer.black .widgetZineA li .trackbackNum a{ color:#66c;}
.widgetContainer.black .widgetZineA li .author{ color:#999;}
.widgetContainer.black .widgetZineA li .category{ color:#999; background:url(../img/black/lineTextDiv.gif) no-repeat right center;}
.widgetContainer.black .widgetZineA li .date{ color:#999;}
.widgetContainer.black .widgetZineA li .hour{ color:#888;}
.widgetContainer.black .widgetZineA li .text{ color:#888;}
/* ==========================================================
   [교정본] 테이블형 셋업 (구조 무너짐 방지 및 우측 날짜 정렬 완결)
   ========================================================== */

/* 1. 테이블 기본 명세를 허물어 인라인 플렉스 행을 품을 수 있도록 뼈대 변환 */
.main-tbl-container { 
    width: 100% !important; 
    border-collapse: collapse; 
    border-spacing: 0; 
    border: none !important; 
}
.main-tbl-container,
.main-tbl-container tbody { 
    display: block !important; 
    width: 100% !important; 
}

/* 2. 한 줄(tr) 전체를 플렉스로 정의하여 제목-닉네임-날짜를 양끝 정렬 기조로 강제 배치 */
.main-tbl-container tr { 
    display: flex !important; 
    align-items: center !important; 
    justify-content: space-between !important; 
    width: 100% !important; 
    padding: 0 !important; 
    border: 0 !important; 
    box-sizing: border-box; 
    border-bottom:0 !important; /* 가독성을 위한 은은한 가로 경계 실선 */
}
.main-tbl-container tr:last-child { border-bottom: none !important; }

/* 3. td 고유의 칸막이 속성을 해제하고 유연한 플렉스 정렬 상자로 전환 */
.main-tbl-container td { 
    display: inline-flex !important; 
    align-items: center !important; 
    padding: 0; 
    border: none !important; 
    box-sizing: border-box; 
}

/* 4. [방 1] 제목 구역 셀 - 남은 여백폭을 전부 흡수하여 가장 넓게 쓰도록 유연폭 설정 */
.main-tbl-title-cell { 
    flex: 1 !important; 
    min-width: 0 !important; 
}

/* HTML에서 넘어온 핵심 구조선: 배지 및 제목 좌측 밀착 + 모바일 날짜와 양끝 분할 */
.main-tbl-content-flex { 
    display: flex !important; 
    align-items: center !important; 
    justify-content: space-between !important; 
    width: 100% !important; 
    padding:2px 0 !important; 
    gap: 8px; 
    box-sizing: border-box; 
}

/* 배지와 제목 텍스트를 위아래 2줄 수직 스택 구조로 다듬는 안착선 */
.main-tbl-left-side { 
   
    flex: 1 !important; 
    min-width: 0 !important; 
}
.main-lst-badge-group { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 6px !important; flex-shrink: 0; }
.main-lst-title-group {display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 6px !important; min-width: 0 !important; }
.main-lst-title-group a{ font-size: 13px; color: #535353 !important;}

/* 5. [방 2] 작성자 닉네임 셀 - 기존 100px 고정폭을 지키며 우측 정렬 */
.main-tbl-user-cell { 
    display: inline-flex !important; 
    justify-content: flex-end !important; 
    width: 100px !important; 
    max-width: 100px !important; 
    flex-shrink: 0 !important; 
    text-align: right; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
    margin-left: 16px !important; 
}

/* 6. [방 3] PC 전용 날짜 셀 - 전체 줄에서 완벽하게 가장 오른쪽 벽면 끝으로 밀착 */
.main-tbl-time-cell { 
    display: inline-flex !important; 
    justify-content: flex-end !important; 
    width: 75px !important; 
    max-width: 75px !important; 
    flex-shrink: 0 !important; 
    text-align: right; 
    margin-left: 12px !important; 
}

/* 7. 모바일 전용 반응형 구역 (날짜 양끝 분할 완결) */
.main-tbl-right-side.m-only { display: none !important; } /* 기본 PC 화면에서는 모바일 날짜 숨김 */

@media (max-width: 768px) {
    /* 모바일에서는 줄 내부 요소를 세로로 흐르게 보정 */
    .main-tbl-container tr { 
        position: relative !important; 
        flex-direction: column !important; 
        align-items: flex-start !important; 
        gap: 6px !important; 
        padding: 12px 8px !important;
    }
    .main-tbl-title-cell { width: 100% !important; }
    
    /* 모바일용 날짜방을 우측 하단 구석 벽면에 자석처럼 밀착 고정 */
    .main-tbl-right-side.m-only { 
        position: absolute !important; 
        right: 8px !important; 
        bottom: 12px !important; 
        display: inline-block !important; 
    }
    
    /* PC 온리 셀렉터들은 숨겨서 중복 노출 파괴 */
    .pc-only, .main-tbl-user-cell, .main-tbl-time-cell { display: none !important; }
}

.main-lst-icon img[src*="file"], 
.main-lst-icon img[src*="update"] { 
    display: none !important; 
}
/* 페이징 제어 */
.main-lst-nav { text-align: center; margin-top: 10px; clear: both; width: 100%; }
.main-lst-nav button { background: #fff; border: 1px solid #e2e8f0; padding: 3px 10px; font-size: 11.5px; color: #4a5568; cursor: pointer; border-radius: 4px; margin: 0 2px; }

/* ==========================================================
   ★ [핵심 정정] 디바이스 스위치 조건문 (PC 화면 제어)
   ========================================================== */
.m-only { display: none !important; } /* PC에서는 제목옆 날짜를 절대 숨김 */
.pc-only { display: block !important; }
td.pc-only { display: table-cell !important; }

/* ==========================================================
   ★ 모바일 반응형 2줄 구조 및 날짜 위치 교정 (768px 이하)
   ========================================================== */
@media screen and (max-width: 768px) {
    /* 모바일에서는 중복 방지를 위해 반대로 스위칭 */
    .m-only { display: inline-block !important; } /* 모바일에서만 제목옆 날짜 활성화 */
    .pc-only { display: none !important; }       /* 모바일에서 우측끝 날짜 차단 */
    
    .main-lst-meta-user, .main-tbl-user-cell, .main-lst-tag { display: none !important; }
    
    /* 상하 2줄 레이아웃 전환 */
    .main-lst-content, .main-tbl-content-flex { flex-direction: column; align-items: flex-start; gap: 4px; padding: 8px 2px; }
    .main-tbl-container td { display: block; width: 100% !important; }
    
    /* 1단 배지 정렬 */
    .main-lst-badge-group { display: flex; width: 100%; margin-bottom: 1px; gap: 4px; }
    
    /* 2단 제목 정렬 및 모바일 전용 날짜 앵커 배치 */
    .main-lst-title-group { display: inline-flex; width: 100%; max-width: 100%; align-items: center; }
    .main-lst-title, .main-tbl-link { font-size: 13.5px; max-width: calc(100% - 75px) !important; }
    
    /* 제목 뒤로 들어간 모바일 날짜 디자인 미세 조정 */
    .main-lst-title-group .main-lst-date { font-size: 10.5px; color: #b2b2b2; margin-left: auto; flex-shrink: 0; white-space: nowrap; }
    .main-lst-loc { display: inline-block !important; font-size: 10px; margin-left: 4px; max-width: 55px; padding: 0 3px; }
}


/* 기본 컨테이너 하우징 */
.prd-widget-list { display: block; list-style: none; padding: 0 !important; margin: 0 auto !important; box-sizing: border-box; width: 100% !important; max-width: 100%; }
.prd-widget-list::after { content: ""; display: block; clear: both; }
.prd-widget-list li { float: left; margin: 0 10px 24px 10px; box-sizing: border-box; vertical-align: top; }
.prd-widget-list li.clear-left { clear: left; }

/* 상품 카드 프레임 */
.prd-card-item { display: flex; flex-direction: column; background: #ffffff; border: 1px solid #ddd; border-radius: 12px; overflow: hidden; height: 100%; }

/* 섬네일 하우징 및 절대위치 설정 */
.prd-thumb-wrap { display: block; position: relative; overflow: hidden; background-color: #f8f9fa; width: 100% !important; }
.prd-thumb-inner { position: relative; width: 100%; height: 100%; overflow: hidden; }

/* [화질개선] 고해상도 모바일 디스플레이에서 압축된 이미지가 번지는 현상을 억제합니다 */
.prd-img { 
    display: block; 
    object-fit: cover; 
    width: 100%; 
    image-rendering: -webkit-optimize-contrast;
    image-rendering: auto;
}

/* 이미지 내부 우측 하단 정렬 하우징 공간 */
.prd-thumb-meta-right {
    position: absolute; bottom: 8px; right: 8px;
    box-sizing: border-box;
    display: flex; justify-content: flex-end; align-items: center; gap: 4px;
    pointer-events: none;
    z-index: 1;
    max-width: calc(100% - 16px);}

/* 지역명 불투명 다크 뱃지 */
.badge-img-loc { 
    display: inline-block; padding: 2px 6px; border-radius: 4px; 
    font-size: 10px; font-weight: 500; 
    background: rgba(33, 37, 41, 0.85); color: #ffffff !important; 
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 65%; 
    letter-spacing: -0.3px; flex-shrink: 0;
}

/* 거래 방식 배송 디자인 미니 캡슐 배지 세트 */
.badge-img-type { display: inline-block; padding: 2px 5px; border-radius: 4px; font-size: 10px; font-weight: bold; letter-spacing: -0.2px; flex-shrink: 0; }
.badge-img-type.type-direct { background: rgba(241, 243, 245, 0.95); color: #495057; }
.badge-img-type.type-safe { background: rgba(227, 250, 252, 0.95); color: #0b7285; }
.badge-img-type.type-delivery { background: rgba(227, 250, 252, 0.95); color: #0b7285; }
.badge-img-type.type-free { background: rgba(255, 23, 23, 0.95); color: #ffffff; }
.badge-img-type.type-all { background: rgba(243, 240, 255, 0.95); color: #5f3dc4; }

/* 판매완료 심플 오버레이 */
.prd-sold-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; color: #ffffff; z-index: 2; }
.prd-sold-mask span { font-size: 13px; font-weight: bold; background: rgba(0, 0, 0, 0.7); padding: 5px 12px; border-radius: 4px; }
.prd-thumb-wrap.is-sold .prd-img { opacity: 0.6; }

/* NO IMAGE 백업 박스 */
.prd-thumb-inner.no-img { display: flex; align-items: center; justify-content: center; background-color: #f1f3f5; }
.prd-no-text { font-size: 11px; color: #adb5bd; font-weight: bold; }

/* 하단 정보 텍스트 영역 여백 가이드 */
.prd-body-content { padding: 12px 10px; display: flex; flex-direction: column; box-sizing: border-box; }

/* 상단 가격 및 시간 라인 */
.prd-info-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.prd-price { font-size: 15px; color: #111111; font-weight: 700; letter-spacing: -0.2px; }
.prd-status { font-size: 12px; font-weight: bold; }
.prd-status.status-ing { color: #f76707; }
.prd-status.status-end { color: #868e96; }
.prd-date { font-size: 11px; color: #999999; }

/* 하단 상품 제목 (2줄 고정) */
.prd-title-box { display: block; height: 36px; overflow: hidden; }
.prd-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 13px; color: #4e524a; line-height: 1.4; text-decoration: none; font-weight: 400; letter-spacing: -0.4px; }
.prd-title:hover { text-decoration: underline; color: #ff6f0f; }
.prd-reply-count a { font-size: 11px; font-weight: bold; color: #ff6f0f; text-decoration: none; margin-left: 2px; }

/* 소속 라벨 시스템 배지 */
.prd-badge-board { position: absolute;bottom: 10px; left: 6px; background: rgba(0, 0, 0, 0.6); color: #ffffff; font-size: 9px; padding: 1px 4px; border-radius: 3px; z-index: 2; }
.prd-nav-wrap { text-align: center; margin-top: 16px; clear: both; }
.prd-nav-wrap button { background: #ffffff; border: 1px solid #e2e8f0; padding: 5px 14px; font-size: 12px; color: #4a5568; cursor: pointer; border-radius: 4px; margin: 0 2px; }

/* ==========================================================
   ★ 모바일 환경 고성능 반응형 그리드 분기 (가로 2열 배열)
   ========================================================= */
@media screen and (max-width: 768px) {
    .prd-widget-list { width: 100% !important; padding: 0 6px !important; }
    .prd-widget-list li { width: calc(50% - 10px) !important; margin: 0 5px 14px 5px !important; clear: none !important; }
    .prd-widget-list li:nth-child(2n+1) { clear: left !important; }
    
    .prd-card-item { border-radius: 8px; }
    .prd-thumb-wrap { height: auto !important; aspect-ratio: 1 / 1; }
    .prd-img { height: 100% !important; }
    .prd-body-content { padding: 10px 6px; }
    
    .prd-info-row { margin-bottom: 4px; }
    .prd-title-box { height: 34px; }
    .prd-title { font-size: 12px; line-height: 1.4; }
    .prd-price { font-size: 14px; }
    .prd-date { font-size: 10px; }
    .prd-status { font-size: 11px; }
    .prd-thumb-meta-right { bottom: 6px; right: 6px; max-width: calc(100% - 12px); gap: 3px; }
    .badge-img-loc { font-size: 9px; padding: 1px 4px; border-radius: 3px; }
    .badge-img-type { font-size: 9px; padding: 1px 4px; border-radius: 3px; }
}

