/* BASIC css start */
.selected-border {
    border: 1px solid var(--black) !important;
}

.detailHead {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
}
.detailHead > div {
    width: 100%;
    min-width: var(--pc-min-width);
    max-width: 600px;
}
.detailHeadThumbnail {
    height: auto;
    min-height: var(--pc-min-width);
    max-height: 800px;
    background-color: #111111;
}
.detailHeadThumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.detailHeadMeta {
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    padding: 4vw;
    gap: 1.5rem;
}
.detailHeadName h4 {
    font-size: 1.125rem;
    font-weight: 600;
}
.detailHeadName p {
    /* 모바일은 모델명 p에 prd-model 클래스가 없어서 p로 바로 지정 (PC .prd-model과 동일 값) */
    font-size: 0.875rem;
    color: var(--textgrey);
    font-weight: 400;
}

/* 메인 이미지 - 한 장씩 스와이프하는 슬라이더 (js에서 detailImgSlider로 감쌈) */
.detailImgContainer {
    position: relative;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}
.detailImgContainer #lens_img {
    display: none;
}
.detailImgContainer #multi_image_thumb_list {
    /* 멀티이미지 썸네일은 슬라이더에 합쳐 넣고(js) 원본 테이블은 숨김 */
    display: none;
}
.detailImgSlider {
    display: flex;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.detailImgSlider::-webkit-scrollbar {
    display: none;
}
.detailImgSlide {
    flex: none;
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    scroll-snap-align: start;
}
/* 슬라이드 진행률 바 + n/전체 카운터 */
.detailImgStatus {
    position: absolute;
    left: 4vw;
    right: 4vw;
    bottom: var(--xsmallgap);
    display: flex;
    align-items: center;
    gap: var(--xxsmallgap);
}
.detailImgProgress {
    flex: 1;
    height: 0.1875rem;
    border-radius: 0.1875rem;
    background-color: #ffffff80;
    overflow: hidden;
    opacity: 0.5;
}
.detailImgProgress i {
    display: block;
    height: 100%;
    width: 0%;
    background-color: var(--brandcolor);
    transition: width 0.2s ease;
}
.detailImgCount {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--white);
    text-shadow: 0 1px 2px #00000060;
    white-space: nowrap;
}

/* 옵션 - 원클릭 (PC와 달리 multiOption 대신 detailHeadOption으로 감싸짐, 값은 PC .productDetailMidTit과 동일) */
.detailHeadOption > div > p:first-child {
    font-size: 1rem;
    font-weight: 500;
    padding-bottom: var(--smallgap);
}
.MK-oneclick-list {
    display: flex;
    flex-flow: row wrap;
    gap: var(--xxsmallgap);
}
.MK-oneclick-value {
    display: none;
}
.MK-oneclick-li {
    font-size: 0.75rem;
    padding: 0 0.875rem;
    min-width: 5rem;
    text-align: center;
    border: 1px solid var(--bordergrey);
    line-height: 2.5rem;
    border-radius: 0.25rem;
    color: var(--charcol);
}
.MK-oneclick-li.MK-oneclick-sel {
    border: 1px solid var(--black);
    font-weight: 500;
}
.MK-oneclick-li.MK-oneclick-dis {
    background-color: var(--bggrey);
    color: var(--textgrey);
    text-decoration: line-through;
}

/* 스타일(색상) 옵션 - PC .related-prd와 동일하게 사각 테두리만 */
.related-prd .prd-cont {
    display: flex;
    flex-flow: row wrap;
    gap: var(--xxsmallgap);
}
.related-prd .prd-cont .prd-list {
    width: 5rem;
    border: 1px solid var(--bordergrey);
}
.related-prd .prd-cont .prd-list img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
}

/* 추가 구성 상품 - 값은 PC .detailAddOption과 동일 */
.detailAddOption {
    display: flex;
    flex-flow: column nowrap;
    gap: var(--xsmallgap);
}
.detailAddOption > div {
    width: 100%;
    display: flex;
    align-items: center;
    gap: var(--xsmallgap);
}
.detailAddOption .thumb-s {
    width: 4.25rem;
    height: 5.25rem;
}
.detailAddOption .thumb-s img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detailAddOption .add-option-wrap {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    justify-content: space-between;
    height: 5.25rem;
}
.detailAddOption .add-option-wrap h3 {
    font-size: 0.75rem;
    padding-bottom: var(--xxsmallgap);
    font-weight: 400;
}
.detailAddOption .add-option-wrap .add-option-price {
    margin-bottom: 0.375rem;
}
.detailAddOption .add-option-option select,
.detailAddOption .add-option-option a {
    width: 100%;
    border: 1px solid var(--bordergrey);
    font-size: 0.75rem;
    padding: var(--xxsmallgap);
    text-align: center;
}
.detailAddOption .add-option-option a {
    display: block;
}
.detailAddOption .add-option-option select {
    padding-left: 1rem;
}

/* 최종 선택 옵션 리스트 (수량/가격/삭제) - li 패딩은 PC와 동일하게 var(--midiumgap) */
.MK_inner-opt-cm {
    display: flex;
    flex-flow: column nowrap;
}
.MK_inner-opt-cm > li {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    align-items: center;
    padding: 1.5rem 1.5rem var(--midiumgap) 0;
    border-bottom: 1px solid var(--bordergrey);
}
.MK_p-name {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}
.MK_price {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}
.MK_qty-ctrl {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
}
/* 삭제 버튼 - 엑박 아이콘 걷어내고 X 기호로 li 좌측 상단에 배치 */
.MK_btn-del img {
    display: none;
}
.MK_btn-del {
    position: absolute;
    top: var(--xsmallgap);
    right: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.MK_btn-del::before {
    content: "\2715";
    font-size: 0.875rem;
    line-height: 1;
    color: var(--darkgrey);
}

/* 구매 버튼 - 화면 하단에 고정 */
.detailHeadMeta .detailHeadBtns {
    position: sticky;
    bottom: 0;
    background-color: var(--white);
    padding-bottom: var(--smallgap);
    z-index: 1;
}
/* 네이버페이/카카오페이 버튼이 좁은 화면에서 넘치지 않도록 보호 */
.detailBtnsPurchase img {
    max-width: 100%;
    height: auto;
}

/* 섹션 제목 (스타일 / 추가 구성 상품 / 함께 구매한 상품) - PC .productDetailMidTit과 동일 값 */
.productDetailMidTit {
    font-size: 1rem;
    font-weight: 500;
    padding-bottom: var(--smallgap);
}

/* 함께 구매한 상품 - 가로 스크롤 (값은 PC .purchased-prd와 동일, 너비만 모바일용) */
.purchased-prd {
    /* .pageContent가 align-items:center라 width를 직접 줘야 부모 폭에 맞춰짐 */
    width: 100%;
    padding: var(--midiumgap) 4vw;
}
.purchased-prd .prd-scroll-wrap {
    position: relative;
}
.purchased-prd .prd-cont {
    display: flex;
    gap: var(--smallgap);
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.purchased-prd .prd-cont::-webkit-scrollbar {
    display: none;
}
.purchased-prd .prd-scroll-btn {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid var(--bordergrey);
    border-radius: 50%;
    background-color: var(--white);
    color: var(--charcol);
    line-height: 1;
    font-size: 1rem;
    z-index: 2;
}
.purchased-prd .prd-scroll-prev {
    left: -0.5rem;
}
.purchased-prd .prd-scroll-next {
    right: -0.5rem;
}
.purchased-prd .prd-cont .prd-list {
    flex: none;
    width: 7rem;
}
.purchased-prd .prd-cont .prd-list img {
    width: 7rem;
    aspect-ratio: 3/4;
    object-fit: cover;
}
.purchased-prd .prd-cont .prd-list .prd-name {
    width: 7rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--charcol);
    margin-top: var(--xxsmallgap);
}
.purchased-prd .prd-cont .prd-list .prd-model {
    font-size: 0.75rem;
    color: var(--textgrey);
    margin: var(--xxsmallgap) 0 var(--xsmallgap) 0;
}
.purchased-prd .prd-cont .prd-list .prd-price {
    font-size: 0.75rem;
}
.detailHeadPrice li:nth-child(1) p {
    color: var(--textgrey);
}
.detailHeadPrice li:nth-child(3) p {
    color: var(--brandcolor);
}
.detailHeadPrice li p {
    /* font-size: 0.75rem; */
    padding-bottom: 0.25rem;
    font-weight: 500;
}
.detailHeadMeta > .detailHeadPrice > li {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    padding-bottom: 0.25rem;
    /* justify-content: space-between; */
    /* margin: 1rem; */
}
.detailHeadMeta > .detailHeadPrice > li > p:nth-child(1) {
    width: 30%;
}
.detailHeadMeta > .detailHeadPrice > li > p:nth-child(2) {
    width: 70%;
}
.detailHeadMeta > .detailHeadPrice > * {
    padding-bottom: 0.25rem;
}
.detailHeadMeta > .detailHeadPrice > li > p > select {
    width: 100%;
    background: var(--lightgrey);
    padding: 0.25rem;
    border-radius: 2.5rem;
}
/* 상품명/옵션값 텍스트 - PC .MK_p-name p strong / span과 동일 값 */
.MK_p-name p strong {
    font-size: 0.75rem;
    font-weight: 400;
}
.MK_p-name .extra_option_name {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--textgrey);
}
.MK_qty-ctrl {
    display: flex;
    align-items: center;
}
/* 수량 입력칸을 가운데, +/- 버튼을 양옆으로 (PC와 동일) */
.detailHeadMeta .MK_qty-ctrl input {
    order: 2;
    text-align: center !important;
    font-size: 0.875rem;
}
.MK_qty-ctrl > a {
    display: block;
    text-align: center;
    border-radius: 0.5rem;
    order: 3;
}
.MK_qty-ctrl > a:last-of-type {
    order: 1;
}
/* "+1"/"-1" 원본 텍스트는 숨기고 +/- 기호만 표시 */
.MK_qty-ctrl > a span {
    display: none;
}
.MK_qty-ctrl > a:first-of-type::before {
    content: "+";
}
.MK_qty-ctrl > a:last-of-type::before {
    content: "\2212";
}
.MK_price {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--textgrey);
}
.btn-type-02 box-gradient-02 box-shadow-02 {
}
.totalPrice {
    text-align: right;
    /* float: right; */
}
.detailHeadBtns {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    gap: 0.5em;
    font-size: 0.875rem;
}
.detailBtnsUtil {
    width: 100%;
}
.detailBtnsUtil > a {
    width: 100%;
    line-height: 2.25rem;
    border-radius: 0.25rem;
    background: var(--lightgrey);
    text-align: center;
    display: block;
}
.detailBtnsPurchase {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    gap: 0.5em;
}
.detailBtnsPurchase > a,
.detailBtnsPurchase > button {
    /* flex: 1; */
    width: calc(50% - var(--smallgap) / 2);
    line-height: 2.25rem;
    border-radius: 0.25rem;
    text-align: center;
}

.detailBtnsPurchase > a {
    background-color: var(--black);
    color: var(--white);
}
.npaybtnWrapper {
    background-color: #1ec800;
}
.kpaybtnWrapper {
    background-color: #f7e600;
}
.detailBtnsPurchase > button > div {
    position: absolute;
    top: 2.5rem;
    z-index: 3;
    padding: 1rem 0;
    display: none !important;
    background-color: var(--white);
}
.detailBtnsPurchase > button:hover > div {
    display: block !important;
}
.detailNav {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    font-size: 0.75rem;
    gap: 1.5rem;
    padding: 1rem;
    background-color: #fafafa;
    /* box-shadow: 0px -3px 3px #00000020; */
}
#detailNav1 > a:nth-child(1) {
    border-bottom: 2px solid var(--darkgrey);
}
#detailNav2 > a:nth-child(2) {
    border-bottom: 2px solid var(--darkgrey);
}
#detailNav3 > a:nth-child(3) {
    border-bottom: 2px solid var(--darkgrey);
}
#detailNav4 > a:nth-child(4) {
    border-bottom: 2px solid var(--darkgrey);
}
/* optionCtrl 없앨 지 수정 */
.relation {
    width: 100%;
    padding: 1rem;
    overflow-x: scroll;
}
.relation .prdList {
    display: flex;
    flex-flow: row nowrap;
}
.relation .prdList .item {
    margin: 0.5rem 0.5rem 0.5rem 0;
    width: 16.7vw;
    max-width: 200px;
    min-width: 166px;

    display: flex;
    flex-flow: column nowrap;
}
.relation .prdList .item .relatedThumb {
    width: 100%;
    height: 22.3vw;
    max-height: 267px;
    min-height: 221px;
    display: flex;
    align-items: center;
    background-color: var(--white);
    box-shadow: 0px 1px 3px #00000010;
}
.relation .prdList .item > p:nth-child(2) {
    font-weight: 500;
    color: var(--black);
}
.relation .prdList .item > p {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-all;
    color: var(--darkgrey);
}

.prd-detail {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
}
.prd-detail > img {
    width: 100%;
    max-width: 1000px;
}
#productWrap {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    padding: 5rem 0;
}
#productWrap > h4 {
    font-weight: 700;
    padding: 0.5em;
}
#productWrap > div {
    width: 100%;
    display: flex;
    border-bottom: 1px solid var(--bordergrey);
}
#productWrap > div > p:nth-child(1) {
    width: 30%;
    padding: 1rem;
    background-color: var(--lightgrey);
}
#productWrap > div > p:nth-child(2) {
    width: 70%;
    padding: 1rem;
}

.boardWrapper {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    width: 100%;
    margin-bottom: 1rem;
}
.boardWrapper > h4 {
    margin: 1rem auto 1rem 1rem;
    font-weight: 700;
}
.boardHead,
.boardList {
    display: flex;
    width: 100%;
    align-items: center;
}
.boardHead > p,
.boardList > p {
    font-size: 0.75rem;
    padding: 0.875rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-all;
}
.boardHead > p:nth-child(1),
.boardList > p:nth-child(1) {
    width: 15%;
}
.boardHead > p:nth-child(2),
.boardList > p:nth-child(2) {
    width: 40%;
}
.boardList > p:nth-child(2) {
    color: var(--black);
    font-weight: 500;
}
.boardHead > p:nth-child(3),
.boardList > p:nth-child(3) {
    width: 30%;
}
.boardHead > p:nth-child(4),
.boardList > p:nth-child(4) {
    width: 15%;
}
.boardHead {
    background-color: var(--black);
    font-weight: 500;
}
.boardHead > p {
    color: var(--white);
}
.boardList {
    border-bottom: 1px solid var(--bordergrey);
}
.boardList > p > span {
    display: flex;
    gap: 0.5em;
}
.boardList > p > span svg {
    width: 1rem;
    height: 1rem;
}
.boardList > p > span path {
    fill: none;
    stroke: #111111;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
}
.MS_review_content_box {
    width: 100%;
    display: none;
}
.review_board_content {
    font-size: 0.75rem;
    width: 100%;
}
.review_board_content > div {
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid var(--bordergrey);
}
.MS_qna_content_box {
    width: 100%;
}
.qna_board_content {
    font-size: 0.75rem;
    width: 100%;
}
.qna_board_content > div {
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid var(--bordergrey);
    display: flex;
    align-items: center;
}
.qna_board_content > div > input:nth-child(2) {
    background-color: var(--lightgrey);
    height: 2.25rem;
    width: 7rem;
    font-size: 0.75rem;
    padding: 1rem;
}
.qna_board_content > div > input:nth-child(3) {
    width: 4rem;
    height: 2.25rem;
    background-color: var(--black);
    color: var(--white);
    font-size: 0.75rem;
}
.board-btns {
    display: flex;
    gap: 1rem;
    margin: 1rem;
}
.board-btns > a {
    font-size: 0.875rem;
    line-height: 2rem;
    width: 7rem;
    text-align: center;
    background-color: var(--black);
    color: var(--white);
    border-radius: 2rem;
}
.paging {
    display: flex;
    gap: 1rem;
    align-items: center;
    font-size: 0.875rem;
}

/* 

포토리뷰

*/

.review_board_file_preview {
    display: flex;
    flex-flow: row wrap;
    gap: 0.25rem;
    width: 100%;
    padding: 0 0.25rem;
}
.review_board_file_preview img {
    flex: 1;
    width: 24vw;
    height: 24vw;
    max-width: 10rem;
    min-width: 5rem;
    max-height: 10rem;
    min-height: 5rem;
    border-radius: 0.25rem;
    cursor: pointer;
    overflow: hidden;
    object-position: center;
    object-fit: cover;
}
.review_board_file_preview img:hover {
    transition: 0.3s;
    opacity: 0.4;
}
#review_board_file_bg {
    display: none;
    /* display: flex; */
    flex-flow: column nowrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    padding: 0.5rem;
    background-color: #00000060;
    z-index: 100;
}
#review_board_file_close {
    padding: 0.6rem;
    border-radius: 2rem;
    background-color: var(--white);
    cursor: pointer;
}
#review_board_file_close svg {
    width: 0.875rem;
    height: 0.875rem;
    stroke: var(--black);
    stroke-width: 2px;
}

#review_board_file_close:hover {
    background-color: var(--black);
    transition: 0.3s;
}
#review_board_file_close:hover svg {
    stroke: var(--white);
}
#review_board_file_container {
    height: calc(100% - 5rem);
    border-radius: 0.5rem;
    background-color: #fff;
    display: flex;
    flex-flow: column nowrap;
    padding: 0.5rem;
    gap: 0.5rem;
}
.review_board_file_main .MS_cmt_list_box {
    display: none;
}
.review_board_file_main {
    width: 100%;
    height: 100%;
    flex: 1;
    display: flex;
    flex-flow: column nowrap;
    gap: 0.25rem;
}
.review_board_file_main_content {
    border-radius: 0.25rem;
    box-shadow: 1px 1px 3px #00000030;
    height: auto;
    min-height: 16rem;
    max-height: 50vh;
    overflow-y: scroll;
}
.review_board_file_main_text {
    padding: 0.5rem;
    font-size: 0.8125rem;
}
.review_board_file_main_img {
    width: 100%;
    /* border-radius: 1rem; */
    overflow: hidden;
    background-color: #00000020;
}
.review_board_file_main_img img {
    width: auto;
    object-fit: contain;
    object-position: center;
}
.review_board_file_main_imglist {
    margin-top: 0.5rem;
    width: 100%;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
}
.review_board_file_main_imglist img {
    width: 23%;
    aspect-ratio: 1/1;
    border-radius: 0.5rem;
    object-fit: cover;
    object-position: center;
}
.review_board_file_main_subject {
    display: flex;
    gap: 0.3125rem;
    align-items: center;
}
.review_board_file_main_subject h5 {
    font-weight: 700;
}
.review_board_file_main_subject .MS_review_mark_icon {
    font-size: 1.25rem;
}
.review_board_file_main_writed {
    display: flex;
    justify-content: space-between;
}
.review_board_file_main_writed p {
    font-size: 0.675rem;
    color: var(--darkgrey);
}
.review_board_file_main_info {
}

/*  */
.review_board_file_list {
    overflow: scroll;
    display: grid;
    grid-gap: 0.25rem;
    grid-template-rows: repeat(12, 1fr);
    grid-template-columns: repeat(4, 1fr);
}
.review_board_file_list .review_board_file_main_title {
    display: none;
}
.review_board_file_list > a {
    width: 22vw;
    height: 22vw;
    max-width: 10rem;
    min-width: 5rem;
    max-height: 10rem;
    min-height: 5rem;
    border-radius: 0.5rem;
    overflow: hidden;
}
.review_board_file_list > a > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.review_board_file_list > a > img:hover {
    transition: 0.3s;
    opacity: 0.3;
}
.review_board_file_recommend a {
    font-size: 0.75rem;
    color: var(--darkgrey);
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0 1rem;
    width: max-content;
    line-height: 1.75rem;
    border-radius: 1.5rem;
    box-shadow: 1px 1px 3px #00000030;
}
.review_board_file_recommend a svg {
    width: 0.8125rem;
    fill: #00c6b7;
}
.review_board_file_recommend a span {
    font-size: 0.575rem;
    font-weight: 700;
}

.review_board_file_recommend a:hover {
    transition: 0.3s;
    background-color: var(--lightgrey);
}
.review_board_file_recommend a:hover svg {
    transition: 0.3s;
    fill: var(--brandcolor);
}

/* 추천리뷰 */
#recmd_review_container {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: 0.5rem;
}
.recmd_review {
    width: 22%;
    display: flex;
    flex-flow: column nowrap;
    gap: 0.375rem;
    box-shadow: 0px 1px 4px #00000025;
}
.recmd_review > img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
}
.review_title {
    display: flex;
    flex-flow: column;
    gap: 0.25rem;
    padding: 0 0.375rem;
}
.review_title span {
    font-size: 0.875rem;
}
.review_title h5 {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.review_write {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    padding: 0 0.375rem 0.75rem 0.375rem;
}
.review_write h6 {
    color: var(--darkgrey);
}

/* BASIC css end */

