@charset "utf-8";

/*
 * Custom responsive overrides
 *
 * load order
 * setting.css
 * common.css
 * common_responsive.css
 * sub.css
 * sub_responsive.css
 * skin.css
 * skin_responsive.css
 * customize*.css
 * style.css
 * responsive.css
 *
 * HTML 내부에 뒤늦게 선언되는 mobile style보다
 * 우선해야 하는 항목은 body 선택자를 사용한다.
 */

/* 관련상품 Swiper */
.p_Vrelative .rolling_wrap .rolling_box .item_list.swiper-container-initialized > ul.swiper-wrapper {
    display: flex;
    grid-template-columns: none;
    gap: 0;
}


/* ========================================================================
   1200
======================================================================== */

@media screen and (max-width: 1200px) {
    .p_Slide .slide_in {
        z-index: 501;
    }

    #header #header-wrap .header-wrap-inner,
    #header #gnb,
    .main-menu-icon-wrap .main-menu-icon-wrap-inner,
    .special-banner-wrap .special-banner-wrap-inner,
    .benefit-list,
    .p_view_wrap,
    .p_view_header,
    .sc_Footer .top_wrap_inner,
    .sc_Footer .conts_wrap_inner,
    .sc_Footer .bottom_wrap_inner {
        width: calc(100% - 40px);
        max-width: 1200px;
    }

    .sc_Group {
        width: calc(100% - 40px);
    }

    .sc_Visual .rolling_wrap {
        width: 100%;
        max-width: 1200px;
    }

    #header #header-wrap .header-wrap-inner .header-bottom-wrap .logo-wrap {
        flex: 1;
        min-width: 0;
        gap: 30px;
    }

    #header #header-wrap .header-wrap-inner .header-bottom-wrap .logo-wrap .search-wrap {
        flex: 1;
        min-width: 0;
    }

    #header #header-wrap .header-wrap-inner .header-bottom-wrap .logo-wrap .search-wrap input {
        width: 100%;
    }

    #header #gnb .gnb-menu {
        gap: 24px;
    }

    .special-banner-wrap .special-banner-wrap-inner {
        gap: 12px;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item {
        width: calc((100% - 24px) / 3);
        min-width: 0;
        padding-left: 24px;
        padding-right: 24px;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-content {
        min-width: 0;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-image {
        width: 110px;
        height: 110px;
        flex: none;
    }

    .all-category-wrap .all-category-inner {
        width: calc(100% - 40px);
        max-width: 1200px;
        padding-right: 30px;
    }

    .all-category-wrap .all-category-inner .category-banner {
        width: 200px;
        flex: 0 0 200px;
    }

    .all-category-wrap .all-category-inner .category-list-wrap {
        flex: 1;
        min-width: 0;
        grid-template-columns: repeat(4, minmax(100px, 1fr));
        gap: 30px 20px;
        margin-left: 30px;
    }

    .brand-item {
        min-width: 0;
        padding-left: 24px;
        padding-right: 24px;
    }

    .brand-item .brand-logo {
        width: min(160px, 100%);
    }

    .benefit-list {
        gap: 8px;
    }

    .benefit-list .benefit-item {
        min-width: 0;
        padding-left: 16px;
        padding-right: 16px;
    }

    .benefit-list .benefit-text {
        min-width: 0;
    }
}


/* ========================================================================
   900 - Mobile start
======================================================================== */

@media screen and (max-width: 900px) {

    html,
    body {
        width: 100%;
        min-width: 0;
    }

    .wrap {
        overflow-x: hidden;
        overflow-x: clip;
    }

    img,
    video,
    iframe {
        max-width: 100%;
    }

    .pc {
        display: none !important;
    }

    .mobile {
        display: block !important;
    }

    .mobile.inline {
        display: inline !important;
    }

    .mobile.inline-block {
        display: inline-block !important;
    }

    .mobile.flex {
        display: flex !important;
    }

    .mobile.inline-flex {
        display: inline-flex !important;
    }


    /* Header */
    #header.pc {
        display: none !important;
    }

    body #mobile_header.mobile {
        display: block !important;
        position: relative;
        z-index: 500;
        width: 100%;
        height: 60px;
        padding: 13px max(13px, env(safe-area-inset-right)) 13px max(13px, env(safe-area-inset-left));
        border-bottom: 1px solid #eeeeee;
        background: #fff;
    }

    body #mobile_header h1 {
        height: 34px;
        margin: 0;
        text-align: center;
    }

    body #mobile_header h1 a {
        display: inline-flex;
        height: 34px;
        align-items: center;
        justify-content: center;
    }

    body #mobile_header h1 img {
        display: block;
        width: auto;
        max-width: 120px;
        height: 34px;
        object-fit: contain;
    }

    body #mobile_header .menu_button {
        position: absolute;
        top: 50%;
        left: max(13px, env(safe-area-inset-left));
        transform: translateY(-50%);
        display: flex;
        width: 32px;
        height: 32px;
        align-items: center;
        justify-content: center;
    }

    body #mobile_header .member_area {
        position: absolute;
        top: 50%;
        right: max(10px, env(safe-area-inset-right));
        transform: translateY(-50%);
        display: flex;
        align-items: center;
    }

    body #mobile_header .member_area a {
        display: flex;
        width: 34px;
        height: 34px;
        padding: 7px;
        align-items: center;
        justify-content: center;
    }

    body #mobile_header .menu_button img,
    body #mobile_header .member_area img {
        display: block;
        max-width: 100%;
        max-height: 100%;
    }

    .all-category-wrap,
    #dim {
        display: none !important;
    }


    /* Legacy Header */
    .sc_Header {
        padding: 14px 0;
    }

    .sc_Header .nav_box {
        display: none;
    }

    .sc_Header .wrapping {
        gap: 8px;
    }

    .sc_Header .logo_box {
        flex: none;
        max-width: 140px;
    }

    .sc_Header .logo_box .tx {
        font-size: 18px;
    }

    .sc_Header .other_menu {
        margin-left: auto;
    }

    .sc_Header .other_menu .btn {
        width: 36px;
        height: 36px;
        background-size: 19px !important;
    }

    .sc_Header .search_open {
        padding: 32px 20px;
    }

    .sc_Header .search_open .inner {
        width: 100%;
        max-width: 500px;
    }

    .sc_Header .search_open .tit {
        font-size: 26px;
    }

    .sc_Header .search_open .input_search {
        height: 52px;
        padding-right: 52px;
        font-size: 16px;
    }

    .sc_Header .search_open .btn_search {
        width: 44px;
        height: 52px;
        background-size: 22px !important;
    }


    /* Main */
    body .sc_Group {
        width: 100%;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    body.if_main .sc_Group {
        margin-top: 40px;
    }

    /*
     * 금주의 추천 상품
     * skin_responsive.css의
     * .sc_Group margin + .sc_Item padding 중복 제거
     */
    body.if_main .sc_Group.sc_Item {
        margin-top: 32px;
        padding-top: 0;
    }

    .sc_Visual {
        height: auto;
    }

    .sc_Visual .rolling_wrap {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .sc_Visual .visual_img {
        width: auto;
        height: 100%;
        aspect-ratio: 4 / 3;
    }

    .sc_Visual .visual_img img {
        display: block;
        width: 100%;
        height: auto;
    }

    img.this_pc {
        display: none !important;
    }

    img.this_mo {
        display: block !important;
        width: 100%;
        height: auto;
    }


    /* Main title */
    body.if_main .sc_Group_tit {
        position: relative;
        margin-bottom: 0;
        padding-bottom: 14px;
    }

    .sc_Group_tit .tit_box {
        min-width: 0;
        gap: 15px;
    }

    .sc_Group_tit .tit_box .tit {
        font-size: 18px;
    }

    body .sc_Group_tit .more-btn {
        position: absolute;
        top: 0;
        right: 30px;
        margin: 0;
        font-size: 12px;
        color: #444;
    }

    .sc_Group_tit .tab_box,
    .sc_Group_tit .swipe_box,
    .sc_Group_tit .tab_box .swipe_box {
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .sc_Group_tit .tab_box::-webkit-scrollbar,
    .sc_Group_tit .swipe_box::-webkit-scrollbar,
    .sc_Group_tit .tab_box .swipe_box::-webkit-scrollbar {
        display: none;
    }

    .sc_Group_tit .swipe_box ul,
    .sc_Group_tit .tab_box .swipe_box ul {
        width: max-content;
        min-width: 100%;
        flex-wrap: nowrap;
    }


    /* Main icon menu */
    body .main-menu-icon-wrap {
        width: 100%;
        height: auto;
        overflow: hidden;
    }

    body .main-menu-icon-wrap .main-menu-icon-wrap-inner {
        width: 100%;
        max-width: none;
        height: auto;
        padding: 12px 20px;
        justify-content: flex-start;
        gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .main-menu-icon-wrap .main-menu-icon-wrap-inner::-webkit-scrollbar {
        display: none;
    }

    .main-menu-icon-wrap .main-menu-icon-wrap-inner .main-menu-icon {
        flex: 0 0 auto;
    }

    .main-menu-icon-wrap .main-menu-icon-wrap-inner .main-menu-icon img {
        width: 50px;
        height: 50px;
    }

    .main-menu-icon-wrap .main-menu-icon-wrap-inner .main-menu-icon .icon-label {
        font-size: 13px;
        white-space: nowrap;
    }

    .sc_Visual .roll_fill .stage {
        max-width: 130px;
    }

    .sc_Visual .roll_ctrl {
        padding: 0;
    }

    .sc_Roll_ctrl .roll_prevnext {
        width: 30px;
        height: 30px;
        background-size: 11px 16px !important;
    }

    .sc_Roll_ctrl {
        transform: translateY(-50%);
    }

    .item_box .info .item_name {
        font-size: 13px;
        line-height: 1.3;
    }

    /* Special banner */
    body .special-banner-wrap {
        width: 100%;
        height: auto;
        margin-top: 10px;
        padding: 15px 0;
        overflow: hidden;
    }

    body .special-banner-wrap .special-banner-wrap-inner {
        width: 100%;
        max-width: none;
        height: auto;
        padding: 0 20px;
        justify-content: flex-start;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x mandatory;
    }

    .special-banner-wrap .special-banner-wrap-inner::-webkit-scrollbar {
        display: none;
    }

    body .special-banner-wrap .special-banner-wrap-inner .special-banner-item {
        flex: 0 0 80%;
        width: auto;
        min-width: 0;
        min-height: 150px;
        margin-right: 10px;
        padding: 14px 22px;
        scroll-snap-align: start;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item:last-child {
        margin-right: 0;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-content {
        min-width: 0;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-content h3 {
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 1.2;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-content p {
        margin-bottom: 14px;
        font-size: 12px;
        line-height: 18px;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-content span {
        font-size: 13px;
        line-height: 18px;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-image {
        width: 110px;
        height: 110px;
        flex: none;
    }


    /* Brand */
    .brand-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .brand-item {
        min-width: 0;
        padding: 24px 18px;
    }

    .brand-item .brand-logo {
        width: min(140px, 100%);
        height: auto;
    }

    .brand-item .brand-name {
        font-size: 18px;
        text-align: center;
    }

    .brand-item .brand-copy {
        font-size: 15px;
        text-align: center;
    }


    /* Benefit */
    .benefit-list {
        width: calc(100% - 40px);
        margin: 24px auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .benefit-list .benefit-item {
        min-width: 0;
        padding: 18px 20px;
    }

    .benefit-list .benefit-icon {
        width: 50px;
        height: 50px;
        flex: none;
    }

    .benefit-list .benefit-icon img {
        width: 32px;
        height: 32px;
    }

    .benefit-list .benefit-icon img.benefit-icon-small {
        width: 50px;
        height: 50px;
    }

    .benefit-list .benefit-text {
        min-width: 0;
        overflow: hidden;
        white-space: normal;
    }

    .benefit-list .benefit-text strong,
    .benefit-list .benefit-text span {
        line-height: 1.35;
    }


    /* Bottom navigation */
    .p_Fix {
        padding-bottom: env(safe-area-inset-bottom);
        background-color: rgba(255, 255, 255, 0.98);
    }

    .p_Fix .ul {
        height: 64px;
    }

    .p_Fix .btn .ic img,
    .p_Fix .btn .thumb {
        width: 23px;
        height: 23px;
    }

    .p_Fix .btn .tx {
        margin-top: 6px;
        font-size: 9px;
    }

    /*
     * wrap에는 padding-bottom을 주지 않는다.
     * 고정 하단 메뉴가 일반 페이지 footer만 가리지 않도록 처리.
     */
    body:not(.if_view):not(.if_shop_order) .sc_Footer {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }


    /* Recent products */
    .p_Recent .layer_in {
        width: 100%;
        max-width: 430px;
        height: 100vh;
        height: 100dvh;
        padding-left: 20px;
        padding-right: 20px;
    }

    .p_Recent .layer_tit {
        flex: none;
        margin-top: max(20px, env(safe-area-inset-top));
    }

    .p_Recent .layer_tit .tit {
        min-width: 0;
        font-size: 20px;
    }

    .p_Recent .layer_tit .btn_close {
        flex: 0 0 30px;
    }

    .p_Recent .layer_cont {
        min-height: 0;
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: calc(30px + env(safe-area-inset-bottom)) !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .p_Recent .layer_cont::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .p_Recent .recent_item {
        min-height: 100px;
    }

    .p_Recent .recent_item .thumb {
        width: 80px;
        flex: 0 0 80px;
    }

    .p_Recent .recent_item .info {
        min-width: 0;
    }

    .p_Recent .recent_item .item_name {
        max-width: 100%;
        word-break: keep-all;
        overflow-wrap: anywhere;
    }

    .p_Recent .recent_item .quick_btn {
        gap: 8px;
    }

    .p_Recent .recent_item .quick_btn .btn {
        position: static;
        right: auto;
        bottom: auto;
        z-index: auto;
        width: 25px;
        height: 25px;
        flex: 0 0 25px;
        margin-left: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background-color: transparent;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 23px !important;
        box-shadow: none;
    }

    .p_Recent .recent_item .quick_btn .btn.btn_cart {
        background-image: url('../images/c_img/item_cart.svg');
    }

    .p_Recent .recent_item .quick_btn .btn.btn_wish {
        background-image: url('../images/c_img/item_wish.svg');
    }

    .p_Recent .recent_item .quick_btn .btn.btn_wish.hit {
        background-image: url('../images/c_img/item_wish_on.svg');
    }

    .p_Recent .recent_item .quick_btn .btn.btn_del {
        background-image: url('../images/c_img/item_del.svg');
    }

    .p_Recent .recent_item.item_soldout .quick_btn .btn_cart {
        display: none;
    }


    /* Category */
    .p_Subtop .open_ctg_box {
        max-height: calc(100dvh - 120px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .p_Category {
        width: 100%;
    }

    .p_Category .layout_fix,
    .p_Category .swipe_box {
        max-width: 100%;
        overflow: hidden;
    }

    .p_Category .swipe_box ul,
    .p_Category .ctg2_box .swipe_box ul,
    .p_Category .ctg3_box .swipe_box ul {
        width: max-content;
        min-width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .p_Category .ctg2_box .ctg2,
    .p_Category .ctg3_box .ctg3 {
        white-space: nowrap;
    }


    /* Best */
    .p_Best .layout_fix,
    .p_Best .rolling_wrap,
    .p_Best .rolling_box,
    .p_Best .js_product_best_slide {
        min-width: 0;
        overflow: hidden;
    }

    .p_Best .rolling_wrap .rolling_box .item_list {
        margin-left: 0;
    }

    .p_Best .rolling_wrap .rolling_box .item_list li {
        min-width: 0;
        padding-left: 0;
    }

    .p_Best .swiper-wrapper {
        align-items: flex-start;
    }

    .p_Best .item_box,
    .p_Best .item_box .info {
        width: 100%;
        min-width: 0;
    }

    .p_Best .item_box .info {
        padding: 10px 4px 0;
    }

    .p_Best .item_box .info .item_name {
        width: 100%;
        font-size: 13px;
        line-height: 1.35;
        word-break: keep-all;
        overflow-wrap: anywhere;
    }

    .p_Best .item_box .price {
        width: 100%;
        margin-top: 8px;
        font-size: 17px;
    }

    .p_Best .item_box .review-info {
        margin-top: 6px;
    }


    /* Product list */
    .p_List_ctrl .left_box,
    .p_List_ctrl .right_box {
        min-width: 0;
    }

    .p_List_ctrl .filter_benefit {
        min-width: 0;
    }

    .p_List_ctrl .filter_benefit .c_label,
    .p_List_ctrl .filter_benefit .c_label .tx {
        white-space: nowrap;
    }

    .product_list .item_box,
    .product_list .item_box .info {
        min-width: 0;
    }

    .product_list .item_box .info .item_name {
        max-width: 100%;
        word-break: keep-all;
        overflow-wrap: anywhere;
    }

    .item_box .review-info {
        flex-wrap: wrap;
    }

    .item_box .review-info span {
        font-size: 12px;
    }

    .rank-badge {
        left: 6px;
        width: 24px;
        height: 35px;
        font-size: 17px;
    }


    /* Product view */
    .p_view_header {
        width: 100%;
        max-width: none;
        padding: 9px 20px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .p_view_header .c_category_path {
        width: max-content;
        min-width: 100%;
        font-size: 12px;
    }

    .p_view_wrap {
        width: 100%;
        max-width: none;
        padding: 0;
    }

    .p_view_wrap .p_Vtop .this_info > .layout_fix {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .p_view_wrap .review_list_wrap {
        margin: 28px 20px 0;
    }

    .p_view_wrap .review_list_wrap .review_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        height: auto;
    }

    .p_view_wrap .review_list_wrap .review_item {
        min-width: 0;
    }

    .p_view_wrap .review_list_wrap .review_conts .content {
        overflow-wrap: anywhere;
    }

    .free_delivery_info dt,
    .free_delivery_info .free_delivery_text,
    .free_delivery_info .free_delivery_sub_text {
        font-size: 13px;
        line-height: 19px;
    }

    .p_Vrelative .rolling_wrap {
        overflow: hidden;
    }


    /* Product view fixed button */
    .p_Vfixbtn ul {
        min-height: 55px;
    }

    .p_Vfixbtn li.type_wish {
        width: 60px;
        height: 55px;
        flex: 0 0 60px;
    }

    .p_Vfixbtn li.type_wish .btn_wish {
        position: static;
        right: auto;
        bottom: auto;
        z-index: auto;
        width: 100%;
        height: 55px;
        border: 0;
        border-radius: 0;
        box-sizing: border-box;
        background: transparent url('../images/c_img/item_wish.svg') center center no-repeat;
        background-size: 26px !important;
    }

    .p_Vfixbtn li.type_wish .btn_wish.hit {
        background-image: url('../images/c_img/item_wish_on.svg');
    }

    .p_Vfixbtn li:not(.type_wish) {
        min-width: 0;
        flex: 1 1 auto;
    }

    .p_Vfixbtn .btn_buy {
        width: 100%;
    }


    /* Footer tablet */
    body .sc_Footer .top_wrap_inner,
    body .sc_Footer .conts_wrap_inner,
    body .sc_Footer .bottom_wrap_inner {
        width: 100%;
        max-width: none;
        padding-left: 20px;
        padding-right: 20px;
    }

    .sc_Footer .conts_wrap_inner {
        gap: 30px;
    }

    .sc_Footer .main_conts_box {
        min-width: 0;
        gap: 35px;
    }

    .sc_Footer .footer-menu-box {
        min-width: 0;
    }

    .sc_Footer .footer-menus {
        min-width: 110px;
        width: auto;
        flex: 1;
    }

    .sc_Footer .bottom-copyright-text {
        height: auto;
        min-height: 60px;
        line-height: 1.5;
        display: flex;
        align-items: center;
    }
}


/* ========================================================================
   700
======================================================================== */

@media screen and (max-width: 700px) {

    /* Main */
    body.if_main .sc_Group {
        width: 100%;
        margin-top: 32px;
        padding-left: 0;
        padding-right: 0;
    }

    body.if_main .sc_Group.sc_Item {
        margin-top: 24px;
        padding-top: 0;
    }

    #main_best_category .sc_Group_tit {
        width: 100%;
    }

    body.if_main .sc_Group_tit {
        margin-bottom: 0;
        padding-bottom: 12px;
    }

    body.if_main .sc_Ctg .sc_Group_tit .tit_box {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .md_pick_layout .layout_fix {
        padding: 0;
    }

    body .sc_Group_tit .more-btn {
        right: 15px;
        margin: 0;
    }

    .sc_Item .item_box .info {
        padding: 10px 10px 0;
    }

    .sc_Item .item_timer {
        margin-bottom: 6px;
    }

    .sc_Item .item_box .info .item_name {
        line-height: 1.35;
    }

    .sc_Item .item_box .price {
        margin-top: 8px;
    }

    .sc_Item .item_box .review-info {
        margin-top: 6px;
    }

    .sc_Item .item_box .info .item_icon {
        padding-top: 6px;
    }


    /* Main icon */
    body .main-menu-icon-wrap .main-menu-icon-wrap-inner {
        padding-left: 15px;
        padding-right: 15px;
        gap: 0;
    }

    .main-menu-icon-wrap .main-menu-icon-wrap-inner .main-menu-icon {
        margin: 0 10px;
    }

    .main-menu-icon-wrap .main-menu-icon-wrap-inner .main-menu-icon img {
        width: 35px;
        height: 35px;
    }


    /* Special banner */
    body .special-banner-wrap {
        padding: 15px;
    }

    body .special-banner-wrap .special-banner-wrap-inner {
        width: 100%;
        padding: 0;
    }

    body .special-banner-wrap .special-banner-wrap-inner .special-banner-item {
        flex: 0 0 80%;
        min-height: 132px;
        padding: 10px 19px 11px 21px;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-image {
        width: 96px;
        height: 96px;
    }


    /* Brand */
    .brand-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brand-item {
        padding: 22px 14px;
        border-radius: 10px;
    }

    .brand-item .brand-logo {
        width: min(125px, 100%);
    }

    .brand-item .brand-name {
        font-size: 16px;
    }

    .brand-item .brand-copy {
        font-size: 13px;
        line-height: 1.3;
    }


    /* Benefit */
    .benefit-list {
        width: calc(100% - 30px);
        grid-template-columns: minmax(0, 1fr);
    }


    /* Category */
    .p_Subtop .tit_box {
        padding-left: 15px;
        padding-right: 15px;
    }

    .p_Subtop .open_ctg_box .layout_fix {
        padding-left: 15px;
        padding-right: 15px;
    }

    .p_Category {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .p_Category .layout_fix {
        padding-left: 15px;
        padding-right: 15px;
    }

    .p_Category .ctg2_box .ctg2 {
        height: 32px;
        padding: 0 11px;
        font-size: 12px;
    }

    .p_Category .ctg3_box .ctg3 {
        font-size: 12px;
    }


    /* Best */
    .p_Best {
        margin-bottom: 22px;
        padding-bottom: 22px;
    }

    .p_Best .best_tit .tit {
        font-size: 20px;
    }

    .p_Best .rolling_ctrl .prevnext {
        width: 28px;
        height: 28px;
    }

    .p_Best .rolling_ctrl .pagi {
        width: 48px;
        font-size: 13px;
    }

    .p_Best .item_box .btn_wish {
        width: 32px;
        height: 32px;
        right: 6px;
        bottom: 6px;
    }

    .p_Best .item_box .btn_wish img {
        width: 18px;
        height: 18px;
        object-fit: contain;
    }


    /* Product list control */
    .p_List_ctrl .left_box {
        width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
        overflow: hidden;
    }

    .p_List_ctrl .total {
        height: 30px;
        margin-right: 0;
        flex: none;
        font-size: 16px;
    }

    .p_List_ctrl .filter_benefit {
        flex: 1;
        justify-content: flex-end;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .p_List_ctrl .filter_benefit::-webkit-scrollbar {
        display: none;
    }

    .p_List_ctrl .filter_benefit .c_label {
        flex: none;
    }

    .p_List_ctrl .filter_benefit .c_label .tx {
        height: 30px;
        gap: 4px;
        font-size: 12px;
    }

    .p_List_ctrl .right_box {
        width: 100%;
        margin-top: 10px;
        padding-top: 10px;
    }

    .p_List_ctrl .range_box {
        width: 120px;
        flex: none;
    }

    .p_List_ctrl .type_box {
        flex: none;
        margin-left: auto;
    }

    .p_List_ctrl .btn_filter {
        flex: none;
    }

    .product_list.mobile_type_box3 .item_box .info {
        padding: 10px 2px 0;
    }

    .product_list.mobile_type_box3 .item_box .info .item_name {
        font-size: 12px;
        line-height: 1.35;
    }

    .product_list.mobile_type_box3 .item_box .price {
        margin-top: 8px;
        font-size: 14px;
        gap: 3px;
    }

    .product_list.mobile_type_box3 .item_box .btn_wish {
        width: 30px;
        height: 30px;
        right: 5px;
        bottom: 5px;
    }

    .product_list.mobile_type_box3 .item_box .btn_wish img {
        width: 17px;
        height: 17px;
        object-fit: contain;
    }


    /* Recent */
    .p_Recent .layer_in {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

    .p_Recent .layer_cont {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .p_Recent .recent_item .quick_btn {
        gap: 6px;
    }


    /* Product view */
    .p_view_header {
        padding-left: 15px;
        padding-right: 15px;
    }

    .p_view_wrap .p_Vtop .this_info > .layout_fix {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .p_view_wrap .review_list_wrap {
        margin-left: 15px;
        margin-right: 15px;
    }

    .p_view_wrap .review_list_wrap .review_list {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .p_view_wrap .review_list_wrap .review_list_title {
        margin-bottom: 14px;
    }

    .p_view_wrap .review_list_wrap .review_list_title .tit {
        font-size: 18px;
    }

    .p_view_wrap .review_list_wrap .review_item {
        padding: 14px 16px;
    }

    .p_Vinfo dl {
        gap: 8px;
    }

    .free_delivery_info dd {
        min-width: 0;
    }

    .free_delivery_info dt,
    .free_delivery_info .free_delivery_text,
    .free_delivery_info .free_delivery_sub_text {
        font-size: 12px;
        line-height: 18px;
    }

    .p_Vfixbtn {
        padding-bottom: env(safe-area-inset-bottom);
        background: #fff;
    }

    .p_Vfix.if_open_fix .fix_btm {
        padding-bottom: calc(15px + env(safe-area-inset-bottom));
    }

    .p_Vfix .white_box {
        max-height: min(550px, calc(100dvh - 80px));
    }


    /* Footer */
    body .sc_Footer {
        margin-top: 30px;
    }

    body .sc_Footer .top_wrap {
        height: auto;
    }

    body .sc_Footer .top_wrap_inner {
        width: 100%;
        padding: 12px 15px;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    body .sc_Footer .footer-notice-box {
        width: 100%;
        min-width: 0;
        line-height: 1.5;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body .sc_Footer .menu_box {
        gap: 4px 12px;
    }

    body .sc_Footer .menu_box .menu {
        padding: 5px 0;
    }

    body .sc_Footer .family-site-box {
        width: 100%;
        height: 46px;
    }

    body .sc_Footer .family-site-box select {
        display: block;
        width: 100%;
        height: 46px;
        padding: 0 15px;
        border: 1px solid #DDDDDD;
        box-sizing: border-box;
        background-color: #fff;
    }

    body .sc_Footer .conts_wrap,
    body .sc_Footer .conts_wrap_inner {
        margin-top: 0;
    }

    body .sc_Footer .conts_wrap_inner {
        width: 100%;
        padding: 24px 15px;
        flex-direction: column;
        gap: 24px;
    }

    body .sc_Footer .footer-logo {
        width: 100%;
    }

    body .sc_Footer .footer-logo img {
        width: 90px;
    }

    body .sc_Footer .main_conts_box {
        width: 100%;
        flex-direction: column;
        gap: 22px;
    }

    body .sc_Footer .footer-menu-box {
        width: 100%;
        flex-wrap: wrap;
        gap: 20px 0;
    }

    body .sc_Footer .footer-menus {
        width: 50%;
        min-width: 0;
        flex: none;
        padding-right: 10px;
    }

    body .sc_Footer .footer-menu {
        font-size: 12px;
        line-height: 23px;
    }

    body .sc_Footer .footer-menu.title {
        font-size: 14px;
    }

    body .sc_Footer .footer-menu.tel {
        font-size: 18px;
        line-height: 30px;
    }

    body .sc_Footer .info_box {
        width: 100%;
        padding: 15px 0;
        border-top: 0;
    }

    body .sc_Footer .info-row {
        display: block;
        text-align: left;
    }

    body .sc_Footer .info_box .txt {
        display: block;
        width: 100%;
        margin: 0;
        font-size: 11px;
        line-height: 1.75;
        text-align: left;
        white-space: normal;
    }

    body .sc_Footer .info_box .txt:not(:first-child):before {
        content: none !important;
        display: none !important;
    }

    body .sc_Footer .cs_box,
    body .sc_Footer .cs_box .service,
    body .sc_Footer .cs_box .bank,
    body .sc_Footer .cs_box .bank .list {
        width: 100%;
        align-items: flex-start;
    }

    body .sc_Footer .bottom_wrap_inner {
        width: 100%;
        padding: 0 15px;
    }

    body .sc_Footer .bottom-copyright-text {
        min-height: 0;
        padding: 15px 0;
        font-size: 11px;
        line-height: 1.5;
    }



    .sc_Visual .roll_ctrl {
        position: absolute;
        left: 50%;
        bottom: 10px;
        transform: translateX(-50%);
        z-index: 20;
        padding-right: 0;
    }

    .sc_Visual .visual_img img {
        height: 100%;
    }
}


/* ========================================================================
   500
======================================================================== */

@media screen and (max-width: 500px) {

    body #mobile_header h1 img {
        max-width: 105px;
        height: 31px;
    }

    .sc_Header .logo_box {
        max-width: 110px;
    }

    .sc_Header .logo_box .tx {
        font-size: 16px;
    }

    .sc_Header .other_menu .btn {
        width: 34px;
        height: 34px;
        background-size: 18px !important;
    }

    /*
     * HTML 내부 style의 flex:0 0 80%보다 우선
     */
    body .special-banner-wrap .special-banner-wrap-inner .special-banner-item {
        flex: 0 0 88%;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-image {
        width: 84px;
        height: 84px;
    }

    .brand-item {
        padding: 18px 10px;
    }

    .brand-item .brand-name {
        font-size: 15px;
    }

    .brand-item .brand-copy {
        font-size: 12px;
    }

    .benefit-list .benefit-item {
        padding: 15px 16px;
    }

    .benefit-list .benefit-icon {
        width: 44px;
        height: 44px;
    }

    .benefit-list .benefit-icon img {
        width: 28px;
        height: 28px;
    }

    .benefit-list .benefit-icon img.benefit-icon-small {
        width: 44px;
        height: 44px;
    }

    .benefit-list .benefit-text strong {
        font-size: 14px;
    }

    .benefit-list .benefit-text span {
        font-size: 12px;
    }

    .p_List_ctrl .left_box {
        gap: 7px;
    }

    .p_List_ctrl .filter_benefit {
        gap: 6px;
    }

    .p_List_ctrl .filter_benefit .c_label .tx {
        gap: 3px;
        font-size: 11px;
    }

    .p_List_ctrl .filter_benefit .c_label .icon {
        width: 16px;
        height: 16px;
    }

    .product_list.mobile_type_box3 .item_box .info {
        padding-left: 1px;
        padding-right: 1px;
    }

    .product_list.mobile_type_box3 .item_box .price {
        font-size: 13px;
    }

    .p_Recent .recent_item .thumb {
        width: 76px;
        flex-basis: 76px;
        margin-right: 9px;
    }

    .p_Recent .recent_item .item_name {
        font-size: 12px;
    }

    .p_Recent .recent_item .price {
        font-size: 14px;
    }

    .sc_Ctg .category_item {
        padding: 15px 0;
    }

    .sc_Review .rolling_box .li {
        width: 100%;
    }
}


/* ========================================================================
   360
======================================================================== */

@media screen and (max-width: 360px) {

    body #mobile_header .member_area a {
        width: 30px;
        padding: 6px;
    }

    body #mobile_header h1 img {
        max-width: 90px;
    }

    body .special-banner-wrap .special-banner-wrap-inner .special-banner-item {
        flex: 0 0 94%;
    }

    .special-banner-wrap .special-banner-wrap-inner .special-banner-item .banner-image {
        width: 72px;
        height: 72px;
    }

    .brand-item .brand-logo {
        width: min(105px, 100%);
    }

    body .sc_Footer .footer-menus {
        width: 100%;
        padding-right: 0;
    }

    .sc_Ctg .category_item {
        padding: 15px 0;
    }
}