/* BASIC css start */
/**** Main ****/

/* 공지사항 */
.news {
    width: 100%;
    height: 40px;
    margin: 30px auto;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

.news .titleArea {
    float: left;
}

.news .text {
    float: left;
    margin: 10px 0 10px 30px;
    text-align: left;
}

.news .text a {
    height: 20px;
    font-size: 11px;
    line-height: 20px;
    color: #999;
}

.news .text a:hover {
    color: #777;
}


/* 상단 배너 */
.topBanner {
    clear: both;
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 690px;
}

/* 메인 프로모션 배너 바로 다음에 배치될 때의 간격 */
.mainPromo + .topBanner {
    margin-top: 4px;
}

.topBanner .left {
    flex: 0 0 600px;
    width: 600px;
    height: 690px;
}

/*
 * 오른쪽 4개 배너를 2열 × 2행으로 고정합니다.
 * 왼쪽 슬라이드와의 간격 4px + 내부 열 간격 4px를 정확히 분리합니다.
 */
.topBanner .right {
    display: flex;
    flex: 0 0 600px;
    flex-direction: column;
    gap: 4px;
    width: 600px;
    height: 690px;
    padding-left: 4px;
    box-sizing: border-box;
    overflow: hidden;
}

.slideshow-wrapper2 {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    text-align: left;
}

.slideshow-wrapper2 .vi {
    position: absolute;
    z-index: 1;
    float: left;
    width: 100%;
    height: 100%;
    opacity: 0;
    filter: alpha(opacity=0);
}

.slideshow-wrapper2 .bak {
    position: absolute;
    display: none;
    float: left;
    width: 100%;
    height: 100%;
}

.slideshow-wrapper2 .btn {
    position: absolute;
    z-index: 30;
    float: left;
    width: 90px;
    height: 30px;
    margin: 630px 0 0;
}

.slideshow-wrapper2 .btn .btnbox {
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
}

.slideshow-wrapper2 .btn .btnbox .bull {
    position: relative;
    float: left;
    width: 30px;
    height: 30px;
    margin-right: 0;
    background: url(/design/zavanas/onedesign/images/top_banner_btn_off.png) 0 0 no-repeat;
    cursor: pointer;
}

.slideshow-wrapper2 .btn .btnbox .bull.active {
    position: relative;
    float: left;
    width: 30px;
    height: 30px;
    margin-right: 0;
    background: url(/design/zavanas/onedesign/images/top_banner_btn_on.png) 0 0 no-repeat;
}

.topBanner .right > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 4px;
    flex: 0 0 343px;
    width: 100%;
    height: 343px;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
    list-style: none;
}

.topBanner .right > ul > li {
    float: none;
    min-width: 0;
    width: auto;
    height: 343px;
    margin: 0;
    padding: 0;
}

.topBanner .right > ul.first li {
    margin-bottom: 0;
}

.topBanner .right > ul > li a,
.topBanner .right > ul > li a img {
    display: block;
    line-height: 0;
}

.topBanner .right > ul > li a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* 이벤트 */
.eventView {
    position: relative;
    clear: both;
    width: 100%;
}

.eventInner {
    padding-top: 60px;
}

.eventView .titleArea {
    margin-bottom: 10px;
}

.eventView .btn {
    position: absolute;
    top: 62px;
    right: 0;
    z-index: 2;
    border: 2px solid #000;
    background: #000;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.eventView .btn:hover {
    background: #fff;
}

.eventView .btn a {
    display: block;
    width: 166px;
    height: 31px;
    padding: 0 15px;
    font-size: 11px;
    line-height: 31px;
    color: #bebebe;
    background: url(/design/zavanas/onedesign/images/btn_arrow.png) 167px center no-repeat;
}

.eventView .btn a:hover {
    color: #000;
    background: url(/design/zavanas/onedesign/images/btn_arrow_on.png) 167px center no-repeat;
}

.eventView .text {
    clear: both;
    width: 100%;
}

.eventView .text:first-child {
    padding-top: 10px;
}

.eventView .text a {
    line-height: 20px;
    color: #777;
}

.eventView .text a:hover {
    color: #555;
}


/* 이벤트 배너 */
.eventBanner {
    clear: both;
    width: 100%;
    padding-top: 4px;
}

.eventBanner li {
    margin: 0;
    padding: 0;
    line-height: 0;
}

.eventBanner img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* 첫 배너 다음에 노출되는 배너가 있을 경우에만 4px 간격 적용 */
.eventBanner li + li img:not(.hide-image) {
    margin-top: 4px;
}

.hide-image {
    display: none !important;
}


/* 베스트 아이템 */
.flash_banner {
    position: relative;
    clear: both;
    width: 1200px;
    height: 490px;
    margin: 0 auto;
    *z-index: 10;
}

.flash_banner .flash_banner_body {
    position: absolute;
    float: left;
    width: 1200px;
    height: 490px;
    padding: 0;
    overflow: hidden;
}

.flash_banner .flash_banner_body > ul {
    position: absolute;
    float: left;
    width: 4000px;
    height: 490px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style-type: none;
    zoom: 1;
}

.flash_banner .flash_banner_body > ul > li {
    position: relative;
    float: left;
    width: 290px !important;
    height: 490px;
    margin: 0 13px 0 0 !important;
    padding: 0;
    line-height: 0;
    overflow: visible;
}

.flash_banner .flash_banner_body li .thumbnail {
    padding: 0 !important;
}

.flash_banner .flash_banner_body li .thumb {
    width: 100%;
    height: auto;
}

.flash_banner .flash_banner_body li .button .likeButton {
    margin: 0 !important;
}

.flash_banner .flash_banner_body li .description {
    padding: 0 !important;
}

.flash_banner .btn {
    z-index: 11;
    cursor: pointer;
}

.flash_banner .btn_left {
    position: absolute;
    top: -84px;
    right: 30px;
    z-index: 12;
    width: 30px;
    text-align: center;
    cursor: pointer;
}

.flash_banner .btn_right {
    position: absolute;
    top: -84px;
    right: 0;
    z-index: 12;
    width: 30px;
    text-align: center;
    cursor: pointer;
}

.flash_banner .xans-product-optionpreview .prdOption .inner {
    height: 60px;
    overflow: scroll;
}

.flash_banner .xans-product-optionpreview .prdOption .close {
    top: 14px;
    right: 33px;
}


/* 메인 프로모션 배너 */
.mainPromo {
    clear: both;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.mainPromo__wide {
    display: block;
    width: 100%;
    line-height: 0;
}

.mainPromo__wide + .mainPromo__wide {
    margin-top: 4px;
}

.mainPromo__wide img {
    display: block;
    width: 100%;
    height: auto;
}


/* 타임세일 하단 행사 배너: 4열 자동배치 */
.eventCategoryGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    margin: 4px 0;
    padding: 0;
    list-style: none;
}

.eventCategoryGrid li {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.eventCategoryGrid a {
    display: block;
    overflow: hidden;
    line-height: 0;
}

.eventCategoryGrid img {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.2s ease;
}

.eventCategoryGrid a:hover img {
    opacity: 0.82;
}


/*
 * PC 메인페이지 축소 창 대응
 *
 * 기존 #content의 1200px 폭은 그대로 유지합니다.
 * 전체화면에서는 기존처럼 가운데 정렬되고,
 * 창이 좁아지면 왼쪽 메뉴 220px + 간격 4px 뒤에서 콘텐츠가 시작됩니다.
 */
#content {
    width: 1200px;
    margin-left: max(224px, calc((100% - 1200px) / 2));
    margin-right: 0;
}

/*
 * 참고: 1200px보다 좁은 PC 창에서는 가로 스크롤이 생기는 것이 정상입니다.
 * 스크롤 시작 위치는 왼쪽이므로 첫 번째 배너가 메뉴 뒤에 가려지지 않습니다.
 */
/* BASIC css end */

