:root {
    --luna-ink: #1b1b1b;
    --luna-muted: #777;
    --luna-line: #e8e8e8;
    --luna-line-strong: #d1d1d1;
    --luna-soft: #f7f7f7;
    --luna-button: #828282;
    --luna-paper: #fff;
}

body {
    background: var(--luna-paper);
    color: var(--luna-ink);
    letter-spacing: 0;
}

#hd {
    background: #fff;
    border-bottom: 1px solid var(--luna-line);
}

#hd #tnb {
    height: 34px;
    border-bottom: 1px solid #f2f2f2;
}

#hd #tnb ul {
    width: min(1280px, calc(100% - 48px));
    height: 34px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

#hd #tnb li,
#hd #tnb li:not(.tnb_kakao) a {
    float: none;
    height: 34px;
    padding: 0;
    line-height: 34px;
}

#hd #tnb a {
    color: #555;
    font-size: 10px;
    font-weight: 400;
}

#hd #tnb .tnb_kakao {
    display: none;
}

#hd #tnb .join-point-bubble {
    top: 0;
    font-size: 9px;
    line-height: 14px;
}

#hd_wrapper {
    width: min(1280px, calc(100% - 48px));
    height: 150px;
    margin: 0 auto;
}

#hd-logo {
    top: 57px !important;
    width: 360px !important;
    margin-left: -180px !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 0 !important;
    font-weight: 400 !important;
}

#hd-logo a,
.mobile-logo-text {
    color: var(--luna-ink) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

#hd-logo a span,
.mobile-logo-text span {
    font-size: .72em;
    font-style: italic;
}

#hd_sch {
    margin-top: 56px !important;
}

#hd_sch form {
    border-bottom: 1px solid #333;
}

#hd_sch #sch_str {
    width: 170px;
    border: 0;
}

#hd_sch #sch_submit {
    color: #222;
}

#gnb,
#hd_menu,
.gnb_wrap {
    border-color: var(--luna-line) !important;
}

#wrapper,
#container.container {
    width: 100%;
    max-width: none;
}

.luna-home {
    width: min(1280px, calc(100% - 48px));
    margin: 0 auto;
    padding: 50px 0 80px;
}

.luna-editorial {
    text-align: center;
}

.luna-editorial h2,
.luna-section-heading h2 {
    margin: 0;
    color: var(--luna-ink);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
}

.luna-editorial > p {
    margin: 10px 0 28px;
    color: var(--luna-muted);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
}

.luna-editorial-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    aspect-ratio: 4 / 1;
    overflow: hidden;
    background: #f6f1ed;
}

.luna-editorial-panel {
    min-width: 0;
    background-image: url("../img/luna-editorial-panels.png");
    background-repeat: no-repeat;
    background-size: 400% 100%;
    border-right: 1px solid rgba(255,255,255,.72);
}

.luna-editorial-panel:last-child { border-right: 0; }
.luna-editorial-panel-1 { background-position: 0 50%; }
.luna-editorial-panel-2 { background-position: 33.333% 50%; }
.luna-editorial-panel-3 { background-position: 66.666% 50%; }
.luna-editorial-panel-4 { background-position: 100% 50%; }

.luna-product-section {
    margin-top: 76px;
}

.luna-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--luna-line);
}

.luna-section-heading a {
    color: var(--luna-muted);
    font-size: 10px;
}

.luna-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 38px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.luna-product-image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f7f7f7;
}

.luna-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.luna-product-name {
    display: block;
    margin-top: 13px;
    overflow: hidden;
    color: #242424;
    font-size: 12px;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.luna-product-price {
    margin-top: 5px;
    color: #111;
    font-size: 12px;
    font-weight: 600;
}

.luna-empty-state {
    padding: 88px 20px 92px;
    text-align: center;
    border-bottom: 1px solid var(--luna-line);
}

.luna-empty-state p {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
}

.luna-empty-state span {
    color: var(--luna-muted);
    font-size: 12px;
}

.luna-service-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 54px;
    border-top: 1px solid var(--luna-line);
    border-bottom: 1px solid var(--luna-line);
}

.luna-service-strip a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 0 24px;
    color: #222;
    border-right: 1px solid var(--luna-line);
}

.luna-service-strip a:last-child { border-right: 0; }
.luna-service-strip strong { font-size: 11px; font-weight: 600; }
.luna-service-strip span { color: var(--luna-muted); font-size: 11px; }

/* Interior shop pages */
#wrapper_title,
#container_title {
    margin: 54px auto 42px;
    padding: 0;
    color: #222;
    background: #fff;
    border: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}

#sod_bsk,
#smb_my,
#sod_ws,
#sod_fin,
#sod_frm,
#sod_v,
#sod_inquiry,
#sod_order,
#ssch,
#sit,
.sct_wrap,
.smbskin {
    color: #333;
}

#sod_bsk,
#smb_my,
#sod_ws,
#sod_fin,
#sod_frm,
#sod_v,
#sod_inquiry,
#sod_order,
#ssch {
    width: min(1280px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
}

#sod_bsk table,
#smb_my table,
#sod_fin table,
#sod_frm table,
#sod_v table,
#sod_inquiry table,
#sod_order table {
    border-collapse: collapse;
    border-top-color: #777;
}

#sod_bsk thead th,
#smb_my thead th,
#sod_fin thead th,
#sod_frm thead th,
#sod_v thead th,
#sod_inquiry thead th,
#sod_order thead th {
    color: #444;
    background: var(--luna-soft);
    border-color: var(--luna-line);
    font-weight: 500;
}

#sod_bsk td,
#smb_my td,
#sod_fin td,
#sod_frm td,
#sod_v td,
#sod_inquiry td,
#sod_order td {
    color: #555;
    background: #fff;
    border-color: var(--luna-line);
}

#sod_bsk .btn_submit,
#smb_my .btn_submit,
#sod_ws .btn_submit,
#sod_fin .btn_submit,
#sod_frm .btn_submit,
#sod_v .btn_submit,
#sod_inquiry .btn_submit,
#sod_order .btn_submit,
#ssch .btn_submit,
#sit .btn_submit,
#sod_bsk .btn_b02,
#sit_btn_buy {
    color: #fff !important;
    background: var(--luna-button) !important;
    border-color: var(--luna-button) !important;
    border-radius: 0 !important;
}

#sod_bsk .btn01,
#smb_my .btn01,
#sod_ws .btn01,
#sod_fin .btn01,
#sod_frm .btn01,
#sod_v .btn01,
#sod_inquiry .btn01,
#sod_order .btn01,
#ssch .btn01,
#sit .btn01,
#sit .btn_b01,
#sit_btn_cart,
#sit_btn_wish {
    color: #555 !important;
    background: #fff !important;
    border-color: var(--luna-line-strong) !important;
    border-radius: 0 !important;
    white-space: nowrap;
}

#sod_bsk button,
#smb_my button,
#sod_ws button,
#sod_fin button,
#sod_frm button,
#sod_v button,
#sod_inquiry button,
#sod_order button,
#ssch button,
#sit button,
#sod_bsk a[class^="btn"],
#smb_my a[class^="btn"],
#sod_ws a[class^="btn"],
#sod_fin a[class^="btn"],
#sod_frm a[class^="btn"],
#sod_v a[class^="btn"],
#sod_inquiry a[class^="btn"],
#sod_order a[class^="btn"] {
    box-shadow: none !important;
    text-shadow: none !important;
    white-space: nowrap;
}

/* Cart */
#sod_bsk .tbl_head03 {
    border-top: 1px solid #777;
}

#sod_bsk .tbl_head03 th,
#sod_bsk .tbl_head03 td {
    border-right: 0;
    border-left: 0;
}

#sod_bsk .prd_name {
    color: #333;
    font-weight: 500;
}

#sod_bsk .sod_opt {
    color: var(--luna-muted);
}

#sod_bsk .btn_cart_del button,
#sod_bsk .mod_options {
    color: #666;
    background: #fff;
    border: 1px solid var(--luna-line-strong);
    border-radius: 0;
}

#sod_bsk #sod_bsk_tot,
#sod_bsk #m_sod_bsk_tot {
    background: var(--luna-soft);
    border: 1px solid var(--luna-line);
    border-radius: 0;
}

#sod_bsk #sod_bsk_tot li {
    border-color: var(--luna-line);
}

#sod_bsk #sod_bsk_tot strong,
#sod_bsk #m_sod_bsk_tot strong {
    color: #333 !important;
}

/* My page */
#smb_my_ov .my_ov_name,
#smb_my_ov .my_name {
    color: #333;
    background: #fff;
    border-color: var(--luna-line-strong);
    font-weight: 500;
}

#smb_my_ov .my_ov_name img,
#smb_my_ov .my_name img {
    filter: grayscale(1);
}

#smb_my_ov .cou_pt,
#smb_my_ov .my_pocou,
#smb_my_ov .op_area,
#smb_my_ov .my_info {
    color: #555;
    background: var(--luna-soft);
    border-color: var(--luna-line);
}

#smb_my_ov .cou_pt a,
#smb_my_ov .my_pocou a {
    color: #333 !important;
}

#smb_my_od,
#smb_my_wish {
    margin-top: 48px;
}

#smb_my_od h2,
#smb_my_wish h2 {
    margin-bottom: 14px;
    padding-bottom: 12px;
    color: #333;
    border-bottom: 1px solid #777;
    font-size: 15px;
    font-weight: 500;
}

#smb_my .smb_my_more a,
#smb_my .btn_more {
    color: #666;
    background: #fff;
    border-color: var(--luna-line-strong);
    border-radius: 0;
}

#smb_my_wish .list_02 li {
    border-color: var(--luna-line);
}

/* Product detail */
#sit_ov_wrap {
    padding-top: 16px;
}

#sit_title {
    color: #222;
    font-weight: 500;
}

#sit_desc,
#sit_star_sns,
#sit_star,
.sit_price strong,
#sit_ov_tbl th {
    color: var(--luna-muted);
}

#sit_star_sns,
.sit_ov_tbl,
#sit_tot_price,
.sit_op_sl,
.sit_option_wr {
    border-color: var(--luna-line);
}

#sit_ov_tbl th,
#sit_ov_tbl td,
.sit_ov_tbl th,
.sit_ov_tbl td {
    background: #fff;
    border-color: var(--luna-line);
}

#sit_tot_price strong {
    color: #222;
}

#sit_ov_btn button,
#sit_ov_btn a {
    box-shadow: none;
    text-shadow: none;
}

#pc_item_info_tab,
#sit_tab .tab_tit {
    border-color: var(--luna-line-strong);
}

#pc_item_info_tab a,
#sit_tab .tab_tit button {
    color: #555;
    background: #fff;
    border-color: var(--luna-line-strong);
    border-radius: 0;
    font-weight: 500;
}

#pc_item_info_tab a.active,
#sit_tab .tab_tit button.selected {
    color: #222;
    background: #ececec;
}

#sit_use_ol,
#sit_qa_ol,
#sit_inf_open,
#sit_dvr #itemdv,
#sit_ex #itemch {
    border-color: var(--luna-line-strong);
}

#sit_use li,
#sit_qa li {
    border-color: var(--luna-line);
}

#sit_use_wbtn .btn_s,
#sit_qa_wbtn .btn_s {
    border-radius: 0;
}

/* Supporting shop forms */
#sod_frm input,
#sod_frm select,
#sod_frm textarea,
#ssch input,
#ssch select,
#sit select,
#sit input[type="text"],
#sit input[type="number"] {
    color: #333;
    background-color: #fff;
    border-color: var(--luna-line-strong);
    border-radius: 0;
}

.empty_table,
.empty_li {
    color: #888;
    background: #fff;
}

@media (max-width: 767px) {
    #container > .con:first-child {
        display: none;
    }

    #hd_wr {
        height: 50px;
        border-bottom: 1px solid var(--luna-line);
    }

    #hd #logo.mobile-logo {
        position: absolute;
        top: 0;
        left: 50%;
        width: auto;
        height: 50px;
        margin: 0;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
    }

    .mobile-logo-text {
        display: block;
        white-space: nowrap;
        font-size: 22px;
        line-height: 50px;
    }

    #hd #hd_btn {
        height: 50px;
    }

    #hd #hd_btn > button,
    #hd #hd_btn a,
    #hd #hd_btn button {
        height: 50px;
        line-height: 50px;
    }

    .header-right-buttons {
        right: 8px !important;
        height: 50px;
    }

    .mobile-search-form {
        height: 50px;
        padding: 0 !important;
    }

    .luna-home {
        width: 100%;
        padding: 32px 16px 54px;
    }

    .luna-editorial h2 {
        font-size: 14px;
    }

    .luna-editorial > p {
        margin-bottom: 20px;
        font-size: 12px;
    }

    .luna-editorial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        aspect-ratio: 1 / 1;
    }

    .luna-editorial-panel {
        background-size: 400% 200%;
        border-bottom: 1px solid rgba(255,255,255,.72);
    }

    .luna-editorial-panel-1 { background-position: 0 0; }
    .luna-editorial-panel-2 { background-position: 33.333% 0; border-right: 0; }
    .luna-editorial-panel-3 { background-position: 66.666% 100%; border-bottom: 0; }
    .luna-editorial-panel-4 { background-position: 100% 100%; border: 0; }

    .luna-product-section {
        margin-top: 52px;
    }

    .luna-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 10px;
    }

    .luna-product-name,
    .luna-product-price {
        font-size: 11px;
    }

    .luna-empty-state {
        padding: 66px 12px 70px;
    }

    .luna-service-strip {
        grid-template-columns: 1fr;
        margin-top: 38px;
    }

    .luna-service-strip a {
        min-height: 54px;
        padding: 0 12px;
        border-right: 0;
        border-bottom: 1px solid var(--luna-line);
    }

    .luna-service-strip a:last-child { border-bottom: 0; }

    #wrapper_title,
    #container_title {
        margin: 28px auto 24px;
        padding: 0 16px;
        border: 0 !important;
        font-size: 15px;
        text-align: center;
    }

    #sod_bsk,
    #smb_my,
    #sod_ws,
    #sod_fin,
    #sod_frm,
    #sod_v,
    #sod_inquiry,
    #sod_order,
    #ssch {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        color: #333;
        background: #fff;
    }

    #sod_bsk .sod_ta_wr,
    #sod_fin .sod_ta_wr,
    #sod_frm .sod_ta_wr {
        background: #fff;
    }

    #sod_bsk #m_sod_bsk_tot {
        margin-right: 10px;
        margin-left: 10px;
    }

    #smb_my {
        padding-top: 0;
    }

    #smb_my_ov .my_name {
        border-right: 0;
        border-left: 0;
    }

    #smb_my_od,
    #smb_my_wish {
        margin-top: 34px;
    }

    #smb_my_od h2,
    #smb_my_wish h2 {
        margin-right: 10px;
        margin-left: 10px;
    }

    #sit_ov_wrap {
        padding-top: 0;
    }

    #sit_ov {
        color: #333;
        background: #fff;
    }

    #sit_buy_op,
    #sit_buy .buy_wr {
        background: #f2f2f2;
        border-color: var(--luna-line-strong);
    }

    #sit_buy_op #buy_op_btn {
        color: #fff;
        background: var(--luna-button);
    }

    #sit_buy .btn_close {
        background-color: #f2f2f2;
        border-color: var(--luna-line-strong);
    }

    #sit_btn_cart {
        color: #555 !important;
        background: #fff !important;
        border-color: var(--luna-line-strong) !important;
    }

    #sit_btn_buy {
        color: #fff !important;
        background: var(--luna-button) !important;
    }
}
