@charset "utf-8";
/* ============================================================================
   CLEAN THEME — Mobile Shop CSS (모바일 전용)
   G5_IS_MOBILE 일 때만 로드됨. 데스크탑 CSS와 완전 분리.
   ============================================================================ */

:root {
    --toss-blue: #3182F6;
    --toss-text: #191F28;
    --toss-text-sub: #6B7684;
    --toss-text-mute: #8B95A1;
    --toss-bg-soft: #F2F4F6;
    --toss-border: #EFF1F4;
    --m-header-h: 56px;
    --m-tabbar-h: 56px;
}

* { -webkit-tap-highlight-color: transparent; box-sizing: border-box; }
html { overflow-y: scroll; -webkit-text-size-adjust: 100%; }
body {
    margin: 0; padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Malgun Gothic", sans-serif;
    color: var(--toss-text);
    background: #fff;
    font-size: 14px;
    line-height: 1.5;
    padding-bottom: calc(var(--m-tabbar-h) + env(safe-area-inset-bottom, 0px));
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; border: 0; }
button { font-family: inherit; cursor: pointer; }
ul, ol { list-style: none; padding: 0; margin: 0; }

/* ===== 모바일 헤더 ===== */
#m_hd {
    position: sticky; top: 0; z-index: 1000;
    background: #fff;
    border-bottom: 1px solid var(--toss-border);
    height: var(--m-header-h);
    display: flex; align-items: center;
    padding: 0 6px; gap: 2px;
}
#m_hd_menu_btn, #m_hd_sch_btn, #m_hd_cart {
    width: 42px; height: 42px;
    background: transparent; border: 0;
    color: var(--toss-text);
    font-size: 17px;
    border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0; position: relative;
}
#m_hd_menu_btn:active, #m_hd_sch_btn:active, #m_hd_cart:active { background: var(--toss-bg-soft); }
#m_hd_logo {
    flex: 1;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
#m_hd_logo img { max-height: 26px; width: auto; }
#m_hd_logo span { font-size: 17px; font-weight: 800; letter-spacing: -0.3px; white-space: nowrap; }
#m_hd_cart .m_cart_count {
    position: absolute; top: 4px; right: 4px;
    background: #F04452; color: #fff;
    font-size: 9px; font-weight: 700;
    min-width: 16px; height: 16px;
    border-radius: 8px; padding: 0 4px;
    display: inline-flex; align-items: center; justify-content: center;
    line-height: 1;
}

/* ===== 검색 오버레이 ===== */
#m_sch_overlay {
    position: fixed; inset: 0;
    background: #fff; z-index: 10000;
    transform: translateY(-100%);
    transition: transform .25s ease;
    visibility: hidden;
    display: flex; flex-direction: column;
}
#m_sch_overlay.show { transform: translateY(0); visibility: visible; }
.m_sch_inner {
    display: flex; align-items: center; gap: 6px;
    padding: 10px;
    border-bottom: 1px solid var(--toss-border);
}
#m_sch_back {
    width: 40px; height: 40px;
    background: transparent; border: 0;
    border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 16px;
}
#m_sch_back:active { background: var(--toss-bg-soft); }
.m_sch_inner form {
    flex: 1; display: flex;
    background: var(--toss-bg-soft);
    border-radius: 10px;
    overflow: hidden;
}
.m_sch_inner input {
    flex: 1; height: 42px;
    padding: 0 14px;
    background: transparent; border: 0;
    font-size: 14px; color: var(--toss-text); outline: none;
}
.m_sch_inner input::placeholder { color: var(--toss-text-mute); }
.m_sch_inner form button {
    width: 42px; height: 42px;
    background: transparent; border: 0;
    color: var(--toss-text);
    font-size: 15px;
}

/* ===== 드로워 ===== */
#m_drawer_overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.4);
    backdrop-filter: blur(2px);
    z-index: 10001;
    opacity: 0; pointer-events: none;
    transition: opacity .25s ease;
}
#m_drawer_overlay.show { opacity: 1; pointer-events: auto; }
#m_drawer {
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 86%; max-width: 360px;
    background: #fff; z-index: 10002;
    transform: translateX(-100%);
    transition: transform .3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 4px 0 20px rgba(0,0,0,.15);
}
#m_drawer.open { transform: translateX(0); }
.m_drawer_hd {
    position: sticky; top: 0;
    background: #fff;
    padding: 16px;
    border-bottom: 1px solid var(--toss-border);
    z-index: 2;
}
#m_drawer_close {
    position: absolute; top: 12px; right: 12px;
    width: 36px; height: 36px;
    background: transparent; border: 0;
    color: var(--toss-text-sub);
    border-radius: 50%;
    font-size: 16px;
}
#m_drawer_close:active { background: var(--toss-bg-soft); }
.m_user_card { display: flex; align-items: center; gap: 12px; padding-right: 40px; }
.m_user_av {
    width: 46px; height: 46px;
    background: var(--toss-bg-soft); color: var(--toss-text-mute);
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 26px; flex-shrink: 0;
}
.m_user_info { display: flex; flex-direction: column; gap: 4px; }
.m_user_info strong { font-size: 15px; font-weight: 700; }
.m_user_info a { font-size: 12px; color: var(--toss-blue); }
.m_login_card { display: flex; gap: 8px; padding-right: 40px; }
.m_login_card a {
    flex: 1; text-align: center;
    height: 42px; border-radius: 8px;
    font-weight: 700; font-size: 13px;
    display: inline-flex; align-items: center; justify-content: center;
}
.m_btn_login { background: var(--toss-text); color: #fff; }
.m_btn_signup { background: var(--toss-bg-soft); color: var(--toss-text); }
.m_drawer_section { padding: 14px 0; border-bottom: 1px solid var(--toss-border); }
.m_drawer_section:last-child { border-bottom: 0; padding-bottom: 100px; }
.m_drawer_section h3 {
    font-size: 11px; font-weight: 700;
    color: var(--toss-text-mute);
    margin: 0 0 6px; padding: 0 20px;
    letter-spacing: 1.5px;
}
.m_drawer_section ul li a {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 20px;
    color: var(--toss-text);
    font-size: 14px; font-weight: 500;
}
.m_drawer_section ul li a:active { background: var(--toss-bg-soft); }
.m_drawer_section .m_dr_ico { font-size: 16px; width: 22px; text-align: center; }
.m_drawer_section .m_logout { color: #F04452; }
body.m_drawer_open, body.m_sch_open { overflow: hidden; }

/* ===== 하단 탭바 ===== */
#m_tabbar {
    position: fixed; bottom: 0; left: 0; right: 0;
    z-index: 999;
    height: var(--m-tabbar-h);
    background: #fff;
    border-top: 1px solid var(--toss-border);
    box-shadow: 0 -2px 12px rgba(0,0,0,.04);
    display: flex;
    padding-bottom: env(safe-area-inset-bottom, 0);
}
#m_tabbar a {
    flex: 1;
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px;
    color: var(--toss-text-mute);
    font-size: 10px; font-weight: 500;
    height: 100%;
}
#m_tabbar a i { font-size: 18px; line-height: 1; }
#m_tabbar a:active { color: var(--toss-text); background: var(--toss-bg-soft); }

/* ===== 콘텐츠 ===== */
#wrapper, #container, .shop-content { width: 100%; padding: 0; }
#wrapper_title {
    font-size: 20px; font-weight: 800;
    padding: 18px 16px 14px;
    color: var(--toss-text);
    letter-spacing: -0.3px;
}

/* ===== 히어로 (v19 — 이미지에 텍스트 내장, 오버레이 전면 제거) ===== */
.m_hero {
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
}
.m_hero_slider .owl-stage-outer,
.m_hero_slider .owl-stage,
.m_hero_slider .owl-item {
    height: auto !important;
}
.m_hero_slide {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    overflow: hidden !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.m_hero_slide img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: cover !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* 오버레이/텍스트 자식 강제 숨김 (안전망) */
.m_hero .m_hero_grad,
.m_hero .m_hero_text,
.m_hero .m_hero_badge,
.m_hero_slide .m_hero_grad,
.m_hero_slide .m_hero_text,
.m_hero_slide .m_hero_badge,
.m_hero_slide h1,
.m_hero_slide h2,
.m_hero_slide h3,
.m_hero_slide p,
.m_hero_slide span:not(.sound_only) {
    display: none !important;
}
.m_hero_slider .owl-dots { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; z-index: 3; }
.m_hero_slider .owl-dots button.owl-dot span {
    width: 6px; height: 6px;
    background: rgba(255,255,255,.4);
    border-radius: 50%; margin: 0 3px;
    display: inline-block;
}
.m_hero_slider .owl-dots button.owl-dot.active span { background: #fff; width: 20px; border-radius: 3px; }

/* ===== 빠른 메뉴 ===== */
.m_quick {
    display: flex; gap: 8px;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    padding: 14px 12px;
    background: #fff;
    scrollbar-width: none;
}
.m_quick::-webkit-scrollbar { display: none; }
.m_quick a {
    flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 4px;
    padding: 8px 14px;
    background: var(--toss-bg-soft);
    border-radius: 999px;
    font-size: 12px; font-weight: 600;
    color: var(--toss-text); white-space: nowrap;
}
.m_quick a:active { background: var(--toss-text); color: #fff; }

/* ===== 섹션 ===== */
.m_section { padding: 20px 14px 24px; background: #fff; }
.m_section_dark { background: var(--toss-bg-soft); }
.m_sec_head {
    display: flex; justify-content: space-between; align-items: baseline;
    margin: 0 0 14px;
}
.m_sec_head h2 { font-size: 17px; font-weight: 800; margin: 0; letter-spacing: -0.3px; }
.m_sec_more { font-size: 12px; color: var(--toss-text-sub); font-weight: 500; }
.m_sec_more:active { color: var(--toss-text); }

/* ===== 상품 그리드 2열 ===== */
ul.m_sct_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 10px;
}
ul.m_sct_grid > li { width: 100%; min-width: 0; }

/* 가로 스와이프 (히트) */
.m_swipe.owl-carousel { display: block; }
.m_swipe ul.m_sct_hit {
    display: block;
    margin: 0;
    overflow: visible;
}
.m_swipe .owl-stage-outer { overflow: hidden; }
.m_swipe .owl-stage { display: flex; }
.m_swipe .owl-item { flex-shrink: 0; }
.m_swipe .owl-item > li { width: 100%; }

/* 카드 공통 */
ul.m_sct > li, ul.m_sct .sct_li {
    display: flex; flex-direction: column;
    width: 100%; min-width: 0;
}
ul.m_sct .sct_img {
    aspect-ratio: 1/1;
    background: #F4F6F8;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    margin: 0 0 8px;
}
ul.m_sct .sct_img a, ul.m_sct .sct_img img {
    display: block; width: 100%; height: 100%; object-fit: cover;
}
ul.m_sct .sct_ct_wrap, ul.m_sct .sct_info {
    padding: 0 2px;
    display: flex; flex-direction: column;
    gap: 3px;
}
ul.m_sct .sct_txt, ul.m_sct .sct_name {
    font-size: 13px; font-weight: 600;
    color: var(--toss-text);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
ul.m_sct .sct_basic { display: none; }
ul.m_sct .sct_bottom { padding: 0; margin: 0; }
ul.m_sct .sct_cost {
    display: flex; align-items: baseline; gap: 6px;
    font-size: 14px; font-weight: 800;
    color: var(--toss-text);
    margin: 2px 0 0;
}
ul.m_sct .sct_dict, ul.m_sct .sct_cost del {
    font-size: 10px; color: var(--toss-text-mute);
    text-decoration: line-through; font-weight: 400;
}
ul.m_sct .sct_star, ul.m_sct .sit_icon_li, ul.m_sct .sit_icon { display: none; }

/* 호버 액션 (위시/카트) */
ul.m_sct .sct_actions {
    position: absolute; right: 6px; bottom: 6px;
    display: flex; gap: 4px;
    opacity: 1; z-index: 2;
}
ul.m_sct .sct_act_btn {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    border: 0;
    color: var(--toss-text);
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 0; padding: 0;
}
ul.m_sct .sct_act_btn i { font-size: 11px; }
ul.m_sct .sct_act_btn.btn_wish.on { background: #F04452; color: #fff; }
ul.m_sct .sct_act_btn.btn_cart.on { background: #00B956; color: #fff; }

/* 할인 뱃지 */
ul.m_sct .sct_badge_sale {
    position: absolute; top: 8px; left: 8px;
    background: var(--toss-text); color: #fff;
    padding: 3px 7px; border-radius: 999px;
    font-size: 10px; font-weight: 700;
    z-index: 1;
}
ul.m_sct .sct_badge_sale small { font-size: 8px; }
ul.m_sct .sct_badge_sale b { display: none; }
ul.m_sct .sct_badge_soldout {
    position: absolute; top: 8px; right: 8px;
    background: rgba(0,0,0,.6); color: #fff;
    padding: 3px 8px; border-radius: 999px;
    font-size: 10px; font-weight: 700;
}

/* ===== 프로모션 배너 (가로 스크롤) ===== */
.m_promo {
    display: flex; gap: 10px;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding: 12px;
    scrollbar-width: none;
    background: #fff;
}
.m_promo::-webkit-scrollbar { display: none; }
.m_promo_card {
    flex: 0 0 82%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    scroll-snap-align: start;
}
.m_promo_card img { width: 100%; height: 100%; object-fit: cover; }

/* ===== 푸터 ===== */
#m_ft {
    background: #F9FAFB;
    border-top: 1px solid var(--toss-border);
    padding: 28px 20px 20px;
    margin-top: 20px;
    color: var(--toss-text-sub);
}
.m_ft_links {
    display: flex; flex-wrap: wrap; gap: 14px 16px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--toss-border);
}
.m_ft_links a { font-size: 12px; color: var(--toss-text-sub); }
.m_ft_links a strong { color: var(--toss-text); font-weight: 700; }
.m_ft_cs { margin-bottom: 22px; }
.m_ft_cs_label { font-size: 11px; color: var(--toss-text-mute); font-weight: 700; letter-spacing: 1.5px; margin: 0 0 6px; }
.m_ft_cs_tel { font-size: 22px; font-weight: 800; color: var(--toss-text); margin: 0 0 6px; letter-spacing: -0.5px; }
.m_ft_cs_time { font-size: 11px; color: var(--toss-text-mute); margin: 0; line-height: 1.6; }
.m_ft_info { font-size: 11px; line-height: 1.9; margin-bottom: 22px; }
.m_ft_info span { display: block; }
.m_ft_info b { color: var(--toss-text-sub); font-weight: 500; margin-right: 4px; }
.m_ft_sns { display: flex; gap: 10px; margin-bottom: 18px; }
.m_ft_sns a {
    width: 38px; height: 38px;
    border-radius: 50%; background: #fff;
    border: 1px solid var(--toss-border);
    color: var(--toss-text-sub);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 15px;
}
.m_ft_copy {
    font-size: 11px; color: var(--toss-text-mute);
    margin: 0; padding-top: 16px;
    border-top: 1px solid var(--toss-border);
}

/* ===== 토스트 ===== */
#clean_toast {
    position: fixed;
    bottom: calc(var(--m-tabbar-h) + 14px);
    left: 50%;
    transform: translateX(-50%) translateY(80px);
    background: var(--toss-text); color: #fff;
    padding: 12px 22px;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0,0,0,.18);
    font-size: 13px;
    z-index: 99999;
    opacity: 0; transition: all .3s ease;
    pointer-events: none;
}
#clean_toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
#clean_toast.success { background: #00B956; }
#clean_toast.error { background: #F04452; }

/* ===== 상품 상세 ===== */
.shop-content.is_item { padding: 0 0 80px; }
#sit_pvi_big {
    aspect-ratio: 1/1; width: 100%;
    background: var(--toss-bg-soft);
    overflow: hidden; position: relative;
}
#sit_pvi_big a { display: none; width: 100%; height: 100%; }
#sit_pvi_big a.visible { display: block; }
#sit_pvi_big a img { width: 100%; height: 100%; object-fit: cover; }
#sit_pvi_big > a#popup_item_image {
    display: inline-flex; position: absolute; bottom: 14px; right: 14px;
    width: 36px; height: 36px;
    background: rgba(255,255,255,.95);
    color: var(--toss-text);
    border-radius: 50%;
    align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
#sit_pvi_thumb { display: flex; gap: 6px; padding: 10px 14px; overflow-x: auto; }
#sit_pvi_thumb li { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: var(--toss-bg-soft); }
#sit_pvi_thumb li img { width: 100%; height: 100%; object-fit: cover; }
#sit_ov { padding: 16px; background: #fff; }
#sit_title { font-size: 18px; font-weight: 800; margin: 0 0 6px; line-height: 1.3; }
#sit_desc { font-size: 13px; color: var(--toss-text-sub); margin: 0 0 14px; line-height: 1.5; }
.sit_info { background: var(--toss-bg-soft); border-radius: 10px; padding: 14px; margin: 0 0 12px; }
.sit_ov_tbl { width: 100%; border-collapse: collapse; }
.sit_ov_tbl th { text-align: left; font-size: 11px; color: var(--toss-text-sub); padding: 3px 0; font-weight: 500; width: 84px; }
.sit_ov_tbl td { text-align: left; font-size: 13px; padding: 3px 0; font-weight: 600; }
.sit_ov_tbl td strong { font-size: 17px; font-weight: 800; }
#sit_tot_price { text-align: right; padding: 16px 0; border-top: 2px solid var(--toss-text); margin: 8px 0; font-size: 13px; color: var(--toss-text-sub); }
#sit_tot_price strong, #sit_tot_price em { font-size: 22px; font-weight: 800; color: var(--toss-text); font-style: normal; margin: 0 2px; }
#sit_ov_btn {
    position: fixed;
    bottom: var(--m-tabbar-h); left: 0; right: 0;
    background: #fff;
    border-top: 1px solid var(--toss-border);
    padding: 10px 12px;
    display: flex; gap: 6px;
    z-index: 990;
    box-shadow: 0 -2px 12px rgba(0,0,0,.06);
}
.sit_btn_cart, .sit_btn_buy {
    flex: 1; height: 48px;
    border: 0; border-radius: 10px;
    font-size: 14px; font-weight: 700;
}
.sit_btn_cart { background: #fff; color: var(--toss-text); border: 1px solid var(--toss-border); }
.sit_btn_buy { background: var(--toss-text); color: #fff; }
.sit_btn_wish {
    flex: 0 0 48px; width: 48px; height: 48px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--toss-border);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--toss-text-sub);
}

/* ===== 모바일 상품 상세 탭 (v17 디자이너 재설계) ===== */
#sit_tab { background: #fff; }
#sit_tab .tab_tit {
    display: flex !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--toss-border) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
#sit_tab .tab_tit::-webkit-scrollbar { display: none !important; }
#sit_tab .tab_tit li {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#sit_tab .tab_tit li button {
    background: transparent !important;
    border: 0 !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--toss-text-mute) !important;
    border-bottom: 2.5px solid transparent !important;
    margin-bottom: -1.5px !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.2px !important;
    cursor: pointer !important;
    transition: color .15s, border-color .2s !important;
}
/* 첫 번째 탭 좌측 정렬 */
#sit_tab .tab_tit li:first-child button {
    padding-left: 14px !important;
}
#sit_tab .tab_tit li button.selected,
#sit_tab .tab_tit li button.on {
    color: var(--toss-text) !important;
    border-bottom-color: var(--toss-text) !important;
}

/* 카운트 chip */
#sit_tab .tab_tit .item_use_count,
#sit_tab .tab_tit .item_qa_count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 18px !important;
    padding: 0 6px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text-mute) !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1 !important;
    box-sizing: border-box;
    transition: background .15s, color .15s;
}
#sit_tab .tab_tit li button.selected .item_use_count,
#sit_tab .tab_tit li button.selected .item_qa_count,
#sit_tab .tab_tit li button.on .item_use_count,
#sit_tab .tab_tit li button.on .item_qa_count {
    background: var(--toss-text) !important;
    color: #fff !important;
}
#sit_inf, #sit_use, #sit_qa, #sit_dex { padding: 18px 14px; }

/* ===== 빈 상태 / 게시판 공통 ===== */
.empty_table, .sit_empty, .empty_li, #sps_empty {
    text-align: center;
    padding: 50px 16px;
    background: var(--toss-bg-soft);
    border-radius: 10px;
    color: var(--toss-text-mute);
    font-size: 13px;
    margin: 12px;
}

/* ===== 팝업 ===== */
.hd_pops {
    position: fixed;
    max-width: 94vw; max-height: 88vh;
    left: 3vw; right: 3vw;
    background: #fff; border-radius: 14px;
    box-shadow: 0 16px 48px rgba(0,0,0,.25);
    overflow: hidden;
    z-index: 99999;
}
.hd_pops_con img { max-width: 100%; height: auto; display: block; }
.hd_pops_footer { display: flex; border-top: 1px solid var(--toss-border); }
.hd_pops_footer button {
    flex: 1; padding: 12px;
    background: #fff; border: 0;
    font-size: 12px; color: var(--toss-text-sub);
}
.hd_pops_footer .hd_pops_close {
    border-left: 1px solid var(--toss-border);
    color: var(--toss-text); font-weight: 600;
}

/* iOS 안전영역 */
@supports (padding: env(safe-area-inset-bottom)) {
    #m_tabbar {
        padding-bottom: env(safe-area-inset-bottom);
        height: calc(var(--m-tabbar-h) + env(safe-area-inset-bottom));
    }
}

/* ============================================================================
   Phase 2/3 — 상품상세/장바구니/마이페이지 모바일 강화
   ============================================================================ */

/* ============================================
   Phase 2: 상품 상세 페이지 추가 스타일
   ============================================ */

#sit_loc {
    display: flex; align-items: center;
    gap: 6px;
    padding: 10px 14px;
    font-size: 11px;
    color: var(--toss-text-sub);
    background: #fff;
    border-bottom: 1px solid var(--toss-border);
    overflow-x: auto;
    white-space: nowrap;
}
#sit_loc::-webkit-scrollbar { display: none; }
#sit_loc a { color: var(--toss-text-sub); }
#sit_loc li { display: inline-flex; align-items: center; gap: 6px; list-style: none; }
#sit_loc li:not(:first-child)::before { content: "›"; color: var(--toss-text-mute); }

/* 별점/공유 */
#sit_star_sns {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 0;
    margin: 0 0 14px;
    border-top: 1px solid var(--toss-border);
    border-bottom: 1px solid var(--toss-border);
}
#sit_btn_opt { display: flex; gap: 4px; }
#sit_btn_opt a {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--toss-bg-soft);
    color: var(--toss-text-sub);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 13px;
}
#sit_btn_opt a img { width: 14px; height: 14px; }

/* 옵션 수정 모달 (모바일 - 하단 시트 스타일) */
#mod_option_frm {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fff;
    border-radius: 16px 16px 0 0;
    padding: 20px 16px;
    max-height: 75vh;
    overflow-y: auto;
    z-index: 10001;
    box-shadow: 0 -10px 30px rgba(0,0,0,.15);
}
.mod_option_bg {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.4);
    z-index: 10000;
}

/* 관련상품 */
#sit_rel { padding: 30px 14px; background: #fff; }
#sit_rel h2 { font-size: 16px; font-weight: 800; margin: 0 0 14px; }
#sit_rel .sct_noitem {
    text-align: center;
    background: var(--toss-bg-soft);
    padding: 40px 16px;
    border-radius: 10px;
    color: var(--toss-text-mute);
    font-size: 12px;
}

/* 이전/다음 상품 네비 */
#sit_siblings {
    display: flex; justify-content: space-between;
    padding: 14px 16px;
    border-top: 1px solid var(--toss-border);
    background: #fff;
}
#sit_siblings a {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 12px;
    font-size: 12px;
    color: var(--toss-text-sub);
    border-radius: 6px;
}
#sit_siblings a:active { background: var(--toss-bg-soft); }

/* 사용후기/문의 액션 버튼 */
#sit_use_wbtn, #sit_qa_wbtn {
    display: flex; gap: 6px;
    justify-content: flex-end;
    padding: 0;
    margin: 0 0 14px;
}
#sit_use_wbtn a, #sit_qa_wbtn a {
    flex: 0 0 auto;
    height: 36px; padding: 0 14px;
    font-size: 12px; font-weight: 600;
    border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    white-space: nowrap;
}
.itemuse_form, .itemqa_form, #sit_use_wbtn .btn02, #sit_qa_wbtn .btn02 {
    background: var(--toss-text); color: #fff;
}
.itemuse_list, #itemqa_list, #sit_use_wbtn .btn01, #sit_qa_wbtn .btn01 {
    background: var(--toss-bg-soft); color: var(--toss-text);
}

/* 사용후기/문의 빈 상태 + 항목 */
.sit_empty {
    text-align: center;
    padding: 60px 16px;
    background: var(--toss-bg-soft);
    border-radius: 10px;
    color: var(--toss-text-mute);
    font-size: 12px;
}
.sit_use_li, .sit_qa_li {
    background: #fff;
    border: 1px solid var(--toss-border);
    border-radius: 10px;
    padding: 14px;
    margin: 0 0 8px;
}

/* ============================================
   Phase 3a: 장바구니 페이지
   ============================================ */

#sod_bsk { padding: 0 0 80px; background: #fff; }
#sod_bsk_list { padding: 0 14px; }

/* 테이블을 카드 리스트로 변환 */
.tbl_head03 thead { display: none; }
.tbl_head03 table { display: block; }
.tbl_head03 tbody { display: block; }
.tbl_head03 tbody tr {
    display: block;
    background: #fff;
    border: 1px solid var(--toss-border);
    border-radius: 12px;
    padding: 12px;
    margin: 12px 0 0;
}
.tbl_head03 tbody tr td {
    display: block;
    padding: 4px 0;
    border: 0;
    text-align: right;
    font-size: 12px;
    color: var(--toss-text-sub);
}
.tbl_head03 td.td_chk {
    border-bottom: 1px solid var(--toss-border);
    padding-bottom: 8px;
    margin-bottom: 8px;
}
.tbl_head03 td.td_prd {
    display: flex !important;
    gap: 10px;
    text-align: left;
    padding: 4px 0 10px;
    border-bottom: 1px solid var(--toss-border);
    margin-bottom: 8px;
}
.tbl_head03 td.td_prd .sod_img {
    flex: 0 0 64px;
    width: 64px; height: 64px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--toss-bg-soft);
}
.tbl_head03 td.td_prd .sod_img img {
    width: 100%; height: 100%; object-fit: cover;
}
.tbl_head03 td.td_prd .sod_name {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; gap: 4px;
}
.tbl_head03 td.td_prd .sod_name a, .tbl_head03 .prd_name {
    font-size: 13px; font-weight: 600; color: var(--toss-text);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tbl_head03 .sod_opt { font-size: 11px; color: var(--toss-text-sub); }
.tbl_head03 .mod_options {
    align-self: flex-start;
    background: #fff;
    border: 1px solid var(--toss-border);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    color: var(--toss-text-sub);
}

/* 수량/가격 줄 - 라벨/값 */
.tbl_head03 td.td_num::before { content: "수량 "; color: var(--toss-text-mute); margin-right: auto; font-size: 11px; }
.tbl_head03 td.td_numbig::before {
    color: var(--toss-text-mute);
    margin-right: auto;
    font-size: 11px;
    font-weight: 500;
}
.tbl_head03 td.td_num, .tbl_head03 td.td_numbig {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
}
.tbl_head03 td.td_numbig { font-weight: 700; color: var(--toss-text); }
.tbl_head03 td.text_right { font-weight: 800; font-size: 13px; }

/* 체크박스 */
.tbl_head03 td.td_chk { display: flex !important; align-items: center; gap: 8px; }
.tbl_head03 .selec_chk { display: none; }
.tbl_head03 .chk_box label {
    display: inline-flex;
    width: 18px; height: 18px;
    border: 1.5px solid var(--toss-border);
    border-radius: 4px;
    background: #fff;
    position: relative;
    cursor: pointer;
}
.tbl_head03 .chk_box .selec_chk:checked + label {
    background: var(--toss-text);
    border-color: var(--toss-text);
}
.tbl_head03 .chk_box .selec_chk:checked + label::after {
    content: "✓";
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    color: #fff; font-size: 11px;
}

/* 빈 장바구니 */
.tbl_head03 .empty_table {
    display: block;
    text-align: center;
    padding: 60px 16px;
    color: var(--toss-text-mute);
    font-size: 13px;
    background: var(--toss-bg-soft);
    border-radius: 12px;
    margin: 20px 0;
}
.tbl_head03 .empty_table::before {
    content: "🛒";
    display: block;
    font-size: 32px;
    margin-bottom: 10px;
    opacity: .5;
}

/* 선택삭제/비우기 */
.btn_cart_del {
    display: flex; gap: 6px;
    justify-content: flex-end;
    padding: 12px 14px;
}
.btn_cart_del button {
    height: 36px; padding: 0 12px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--toss-border);
    color: var(--toss-text-sub);
    font-size: 12px;
    font-weight: 600;
}

/* 합계 박스 */
#sod_bsk_tot {
    background: #fff;
    margin: 14px;
    padding: 16px;
    border: 1px solid var(--toss-border);
    border-radius: 12px;
}
#sod_bsk_tot ul li {
    display: flex; justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--toss-border);
    font-size: 13px; color: var(--toss-text-sub);
}
#sod_bsk_tot ul li:last-child { border-bottom: 0; }
#sod_bsk_tot ul li strong {
    color: var(--toss-text);
    font-weight: 700;
    font-size: 14px;
}
#sod_bsk_tot ul li.sod_bsk_cnt {
    margin-top: 4px;
    padding-top: 12px;
    border-top: 2px solid var(--toss-text);
    border-bottom: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--toss-text);
}
#sod_bsk_tot ul li.sod_bsk_cnt strong {
    font-size: 20px; font-weight: 800;
    letter-spacing: -0.3px;
}

/* 하단 액션 (쇼핑계속/주문하기) */
#sod_bsk_act {
    position: fixed;
    bottom: var(--m-tabbar-h); left: 0; right: 0;
    background: #fff;
    border-top: 1px solid var(--toss-border);
    padding: 10px 14px;
    display: flex; gap: 6px;
    z-index: 990;
    box-shadow: 0 -2px 12px rgba(0,0,0,.06);
}
#sod_bsk_act .btn01 {
    flex: 0 0 35%;
    background: #fff;
    color: var(--toss-text);
    border: 1px solid var(--toss-border);
    height: 48px;
    border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 13px;
    text-decoration: none;
}
#sod_bsk_act .btn02, #sod_bsk_act input[type=submit] {
    flex: 1;
    background: var(--toss-text);
    color: #fff;
    border: 0;
    height: 48px;
    border-radius: 10px;
    font-weight: 700; font-size: 14px;
}

/* ============================================
   Phase 3b: 마이페이지
   ============================================ */

#smb_my {
    background: var(--toss-bg-soft);
    min-height: calc(100vh - var(--m-header-h) - var(--m-tabbar-h));
    padding: 12px;
}

/* 프로필 카드 */
.smb_me {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    margin: 0 0 12px;
    text-align: center;
    border: 1px solid var(--toss-border);
}
.smb_me .my_ov_name {
    display: flex; flex-direction: column; align-items: center;
    gap: 10px;
    font-size: 15px; font-weight: 700;
    color: var(--toss-text);
    margin: 0 0 12px;
}
.smb_me .my_ov_name img {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: var(--toss-bg-soft);
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--toss-border);
}
.smb_me .my_ov_name br { display: none; }
.smb_me .smb_info, .smb_me .smb_logout {
    display: inline-block;
    padding: 6px 12px;
    background: var(--toss-bg-soft);
    color: var(--toss-text);
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    margin: 0 2px;
    text-decoration: none;
}

/* 4분할 통계 */
#smb_private {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--toss-border);
    margin: 0 0 12px;
}
#smb_private li {
    border-right: 1px solid var(--toss-border);
}
#smb_private li:last-child { border-right: 0; }
#smb_private li a {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 4px;
    padding: 14px 4px;
    color: var(--toss-text-sub);
    font-size: 11px;
    text-decoration: none;
}
#smb_private li a i { font-size: 16px; color: var(--toss-text-mute); }
#smb_private li a strong {
    font-size: 14px; font-weight: 800;
    color: var(--toss-text);
}
#smb_private .win_point a strong { color: #00B956; }
#smb_private .win_coupon a strong { color: #845EF7; }
#smb_private .win_memo a strong { color: #FF6B6B; }
#smb_private .win_scrap a strong { color: var(--toss-blue); }

/* 내정보 */
.op_area, dl.op_area {
    background: #fff;
    border-radius: 14px;
    padding: 18px;
    margin: 0 0 12px;
    border: 1px solid var(--toss-border);
}
.op_area::before {
    content: "내정보";
    display: block;
    font-size: 12px; font-weight: 700;
    color: var(--toss-text);
    margin: 0 0 10px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--toss-border);
}
.op_area dt {
    font-size: 10px; color: var(--toss-text-mute);
    font-weight: 600; letter-spacing: 0.3px;
    margin: 10px 0 3px;
}
.op_area dt:first-of-type { margin-top: 0; }
.op_area dd {
    font-size: 13px; color: var(--toss-text);
    margin: 0; line-height: 1.4;
}
.withdrawal {
    display: block;
    text-align: center;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--toss-border);
    border-radius: 8px;
    color: var(--toss-text-mute);
    font-size: 11px;
    margin: 0 0 12px;
    text-decoration: none;
}
.withdrawal:active { color: #F04452; border-color: #FFD4D6; }

/* 주문내역/위시 카드 */
#smb_my_od, #smb_my_wish {
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    margin: 0 0 12px;
    border: 1px solid var(--toss-border);
}
#smb_my_od > h2, #smb_my_wish > h2 {
    font-size: 15px; font-weight: 800;
    color: var(--toss-text);
    margin: 0 0 12px;
    display: flex; align-items: center; justify-content: space-between;
}
.smb_my_more {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px; color: var(--toss-text-sub);
    font-weight: 500;
    padding: 4px 8px;
    border-radius: 6px;
}
.smb_my_more a {
    color: inherit;
    background: transparent;
    padding: 0;
}
.smb_my_more a::after { content: "→"; margin-left: 2px; }
.smb_my_more img { display: none; }

/* 주문 빈 상태 */
#smb_my_od .empty_table, #smb_my_od table tbody td.empty_table {
    text-align: center;
    padding: 40px 16px;
    background: var(--toss-bg-soft);
    border-radius: 10px;
    color: var(--toss-text-mute);
    font-size: 12px;
}
#smb_my_od .empty_table::before {
    content: "📦"; display: block;
    font-size: 28px; margin-bottom: 8px; opacity: .5;
}

/* 위시리스트 2열 */
#smb_my_wish ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
#smb_my_wish ul li {
    position: relative;
}
#smb_my_wish .smb_my_img {
    aspect-ratio: 1/1;
    background: var(--toss-bg-soft);
    border-radius: 8px;
    overflow: hidden;
    margin: 0 0 8px;
}
#smb_my_wish .smb_my_img img {
    width: 100%; height: 100%; object-fit: cover;
}
#smb_my_wish .smb_my_tit a {
    font-size: 12px; font-weight: 600;
    color: var(--toss-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}
#smb_my_wish .smb_my_price {
    font-size: 13px; font-weight: 800;
    color: var(--toss-text);
    margin: 2px 0;
}
#smb_my_wish .smb_my_date { font-size: 10px; color: var(--toss-text-mute); }
#smb_my_wish .wish_del {
    position: absolute; top: 6px; right: 6px;
    width: 26px; height: 26px;
    background: rgba(255,255,255,.95);
    color: var(--toss-text-sub);
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 11px;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
}
#smb_my_wish .empty_li {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 16px;
    background: var(--toss-bg-soft);
    border-radius: 10px;
    color: var(--toss-text-mute);
    font-size: 12px;
}
#smb_my_wish .empty_li::before {
    content: "❤️"; display: block;
    font-size: 28px; margin-bottom: 8px; opacity: .5;
}


/* 로고 크기 확대 */
#m_hd_logo img { max-height: 44px !important; width: auto !important; }
#m_hd { height: 64px; }
@media (max-width: 480px) {
    #m_hd_logo img { max-height: 40px !important; }
}


/* 로고 추가 확대 */
#m_hd_logo img { max-height: 52px !important; }
#m_hd { height: 70px !important; }
@media (max-width: 480px) {
    #m_hd_logo img { max-height: 46px !important; }
}


/* ============================================
   계층형 카테고리 (모바일 드로워)
   ============================================ */
.m_drawer_cates .m_cate_tree { padding: 0; margin: 0; list-style: none; }
.m_cate_li { list-style: none; margin: 0; padding: 0; }

.m_cate_row {
    display: flex;
    align-items: center;
    width: 100%;
}
.m_cate_link {
    flex: 1;
    display: block;
    padding: 12px 20px;
    color: var(--toss-text);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.3;
}
.m_cate_row:active, .m_cate_link:active { background: var(--toss-bg-soft); }

/* 펼치기 버튼 */
.m_cate_toggle {
    background: transparent;
    border: 0;
    color: var(--toss-text-mute);
    width: 44px; height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
    transition: transform .2s;
    padding: 0;
    margin-right: 6px;
}
.m_cate_li.has_sub.open > .m_cate_row .m_cate_toggle {
    transform: rotate(180deg);
    color: var(--toss-text);
}

/* 하부 분류 - 기본 숨김 */
.m_cate_sub {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--toss-bg-soft);
    display: none;
}
.m_cate_li.has_sub.open > .m_cate_sub {
    display: block;
}

/* 깊이별 들여쓰기 */
.m_cate_d1 > .m_cate_row > .m_cate_link { font-weight: 700; font-size: 14px; }
.m_cate_d2 > .m_cate_row > .m_cate_link { padding-left: 32px; font-size: 13px; color: var(--toss-text-sub); }
.m_cate_d3 > .m_cate_row > .m_cate_link { padding-left: 44px; font-size: 13px; color: var(--toss-text-sub); }
.m_cate_d4 > .m_cate_row > .m_cate_link { padding-left: 56px; font-size: 12px; color: var(--toss-text-mute); }

/* 깊이별 배경 농도 */
.m_cate_d2 { background: rgba(0,0,0,.015); }
.m_cate_d3 { background: rgba(0,0,0,.025); }
.m_cate_d4 { background: rgba(0,0,0,.035); }


/* ============================================
   v2 — sound_only 접근성 텍스트 숨김 (전역)
   ============================================ */
.sound_only,
.msg_sound_only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* ============================================
   v2 — 상품 상세 위시/SNS 버튼 (#sit_star_sns)
   ============================================ */
#sit_star_sns {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    flex-wrap: nowrap !important;
    width: auto !important;
}
#sit_star_sns .sit_btn_opt {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    flex-direction: row !important;
}
#sit_star_sns #btn_wish,
#sit_star_sns .btn_sns_share,
#sit_star_sns #sit_btn_rec {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 50% !important;
    color: var(--toss-text) !important;
    font-size: 16px !important;
    text-decoration: none !important;
    cursor: pointer;
    flex-shrink: 0 !important;
}
#sit_star_sns #btn_wish:hover,
#sit_star_sns .btn_sns_share:hover {
    background: var(--toss-text) !important;
    color: #fff !important;
    border-color: var(--toss-text) !important;
}
#sit_star_sns #btn_wish i,
#sit_star_sns .btn_sns_share i { font-size: 16px !important; line-height: 1 !important; }
#sit_star_sns .btn_wish_num {
    display: none !important;
}
#sit_star_sns .sns_area {
    position: absolute !important;
    top: 50px !important;
    right: 0 !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    padding: 8px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.1) !important;
    z-index: 10 !important;
}
#sit_star_sns .sns_area a {
    display: inline-block !important;
    margin: 0 4px !important;
}
#sit_star_sns .sns_area img {
    width: 28px !important; height: 28px !important;
}

/* ============================================
   v2 — 모바일 리스트 카드: 위시/공유 버튼 정리
   ============================================ */
ul.m_sct .btn_wish,
ul.m_sct .btn_share {
    position: absolute !important;
    bottom: 8px !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    background: rgba(255,255,255,.95) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 50% !important;
    color: var(--toss-text) !important;
    font-size: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    z-index: 2;
}
ul.m_sct .btn_wish { right: 44px !important; }
ul.m_sct .btn_share { right: 8px !important; }
ul.m_sct .btn_wish.on { background: #F04452 !important; color: #fff !important; border-color: #F04452 !important; }
ul.m_sct .btn_wish i,
ul.m_sct .btn_share i { font-size: 12px !important; }
ul.m_sct > li, ul.m_sct .sct_li { position: relative !important; }
ul.m_sct .sct_sns_bg, ul.m_sct .sct_sns_wr { display: none !important; }
ul.m_sct .sct_act_btn { font-size: 0 !important; }
ul.m_sct .sct_act_btn i { font-size: 11px !important; }

/* ============================================
   v2 — 상품 상세 하단 sticky CTA (장바구니/구매/위시)
   .btn_option_wr (구매하기 버튼이 들어있는 영역)
   ============================================ */
.btn_option_wr {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 56px !important;  /* 탭바 위 */
    z-index: 90 !important;
    padding: 10px 14px !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    box-shadow: 0 -4px 12px rgba(0,0,0,.04) !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
}
.btn_option_wr .btn_cart_op {
    flex: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    border-radius: 12px !important;
    background: var(--toss-text) !important;
    color: #fff !important;
    border: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

/* 상품 상세 페이지에서 본문이 sticky CTA + 탭바에 가리지 않도록 */
body.m_is_item #wrapper,
body:has(.btn_option_wr) #wrapper {
    padding-bottom: 130px !important;
}

/* 오버레이 열렸을 때 (#btn_option 보일 때) - 옵션 선택 영역 */
#btn_option.show, 
#btn_option[style*="block"] {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #fff !important;
    z-index: 200 !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    padding: 16px !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.15) !important;
}
#sit_ov_btn {
    display: flex !important;
    gap: 8px !important;
    padding-top: 12px !important;
}
#sit_btn_cart, #sit_btn_buy {
    flex: 1 !important;
    height: 48px !important;
    border-radius: 12px !important;
    border: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
#sit_btn_cart { background: var(--toss-bg-soft) !important; color: var(--toss-text) !important; border: 1px solid var(--toss-border) !important; }
#sit_btn_buy { background: var(--toss-text) !important; color: #fff !important; }
#sit_btn_wish {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    color: var(--toss-text) !important;
    text-decoration: none !important;
}


/* ============================================
   v3 — 결제 페이지 sticky CTA (#display_pay_button)
   이니시스/토스/LG/KCP/Nicepay 5종 PG 모두 동일 구조
   ============================================ */
#display_pay_button.btn_confirm,
#display_pay_button {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 56px !important;       /* 탭바 위 */
    z-index: 95 !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    border-radius: 0 !important;
    box-shadow: 0 -4px 12px rgba(0,0,0,.06) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    text-align: left !important;
}

/* 결제등록/주문하기 메인 버튼 - span 래퍼 */
#display_pay_button > span {
    flex: 1 !important;
    display: block !important;
    margin: 0 !important;
}
#display_pay_button .btn_submit {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    padding: 0 !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer;
    line-height: 52px !important;
    box-shadow: none !important;
}
#display_pay_button .btn_submit:hover,
#display_pay_button .btn_submit:active {
    background: #1B64DA !important;
}

/* 취소 버튼 */
#display_pay_button .btn_cancel {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    padding: 0 16px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1 !important;
}
#display_pay_button .btn_cancel:hover {
    background: var(--toss-border) !important;
}

/* show_progress (결제 진행중 메시지) */
#show_progress {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 56px !important;
    z-index: 96 !important;
    padding: 16px !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    text-align: center !important;
    font-weight: 600 !important;
}

/* 본문 padding — 결제 버튼이 있을 때 본문이 가리지 않도록 */
body:has(#display_pay_button) #wrapper,
body:has(#display_pay_button) #container {
    padding-bottom: 140px !important;
}
/* 폴백 (구버전 Safari < 15.4) — orderform 페이지에 클래스 직접 추가 */
.m_orderform_page #wrapper { padding-bottom: 140px !important; }


/* ============================================
   v4 — 위시리스트 페이지 (#sod_ws)
   ============================================ */

/* 컨테이너 */
#sod_ws {
    padding: 16px 14px 0 !important;
    background: var(--toss-bg-soft) !important;
    min-height: calc(100vh - 56px) !important;
}

/* 리스트 */
#wish_li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
#wish_li > li {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 12px !important;
    background: #fff !important;
    border-radius: 14px !important;
    border: 1px solid var(--toss-border) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.02) !important;
    position: relative !important;
}

/* 이미지 */
.wish_img {
    flex-shrink: 0 !important;
    width: 88px !important;
    height: 88px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: var(--toss-bg-soft) !important;
}
.wish_img a, .wish_img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* 정보 영역 */
.wish_info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    position: relative !important;
    padding-right: 32px !important;  /* 삭제버튼 자리 */
}
.wish_prd {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: var(--toss-text) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
}
.info_price {
    color: var(--toss-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-top: 2px !important;
}
.info_date {
    color: var(--toss-text-mute) !important;
    font-size: 11px !important;
}

/* 체크박스 + 품절 */
.wish_chk {
    margin-top: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.wish_chk .chk_box {
    display: inline-flex !important;
    align-items: center !important;
}
.wish_chk input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    accent-color: var(--toss-blue, #3182F6) !important;
    cursor: pointer;
}
.wish_chk label {
    margin-left: 6px !important;
    font-size: 12px !important;
    color: var(--toss-text-mute) !important;
    cursor: pointer;
}
.wish_chk label::before { content: "선택"; }
.wish_chk .sold_out {
    display: inline-block !important;
    padding: 3px 8px !important;
    background: #F04452 !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

/* 삭제 버튼 - 우상단 */
.wish_del {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
}
.wish_del a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text-mute) !important;
    text-decoration: none !important;
}
.wish_del a:hover { color: #F04452 !important; background: rgba(240,68,82,.1) !important; }
.wish_del i { font-size: 12px !important; }

/* 빈 위시 */
#wish_li > li.empty_table {
    display: block !important;
    padding: 60px 20px !important;
    text-align: center !important;
    color: var(--toss-text-mute) !important;
    font-size: 14px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* 하단 sticky CTA - 바로구매/장바구니 */
#sod_ws_act {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 56px !important;
    z-index: 90 !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    box-shadow: 0 -4px 12px rgba(0,0,0,.06) !important;
    display: flex !important;
    gap: 8px !important;
}
#sod_ws_act > button {
    flex: 1 !important;
    height: 50px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
#sod_ws_act .btn01 {  /* 장바구니 */
    background: var(--toss-text) !important;
    color: #fff !important;
}
#sod_ws_act .btn02 {  /* 바로구매 */
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
}

/* 본문 padding (sticky CTA + 탭바 만큼) */
body:has(#sod_ws_act) #wrapper {
    padding-bottom: 140px !important;
}


/* ============================================
   v5 — 배송지 목록 팝업 (#sod_addr)
   head.sub.php 사용 → 탭바 없음 → bottom: 0 sticky
   ============================================ */
#sod_addr.new_win {
    padding: 0 0 90px !important;
    background: var(--toss-bg-soft) !important;
    min-height: 100vh !important;
}
#sod_addr #win_title {
    margin: 0 !important;
    padding: 16px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--toss-border) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    text-align: center !important;
}
#sod_addr .list_01 {
    padding: 14px !important;
}
#sod_addr .list_01 > ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
#sod_addr .list_01 > ul > li {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 14px !important;
    padding: 14px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* 카드 상단: 체크박스 + 배송지명(input) */
#sod_addr .addr_title.chk_box {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
#sod_addr .ad_chk {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    accent-color: var(--toss-blue, #3182F6) !important;
    flex-shrink: 0 !important;
    cursor: pointer;
}
#sod_addr .addr_title.chk_box > label[for^="chk_"] {
    display: none !important;  /* label은 체크박스 옆에 별도 표시 안함 */
}
#sod_addr .ad_subject {
    flex: 1 !important;
    height: 38px !important;
    padding: 0 12px !important;
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    color: var(--toss-text) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    min-width: 0 !important;
}
#sod_addr .ad_subject:focus {
    outline: 0 !important;
    border-color: var(--toss-blue, #3182F6) !important;
    background: #fff !important;
}

/* 주소 정보 */
#sod_addr .addr_info {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 8px 4px !important;
    border-top: 1px solid var(--toss-border) !important;
}
#sod_addr .addr_name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
}
#sod_addr .addr_addr {
    font-size: 13px !important;
    color: var(--toss-text) !important;
    line-height: 1.4 !important;
}
#sod_addr .addr_tel {
    font-size: 12px !important;
    color: var(--toss-text-mute) !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
#sod_addr .addr_tel i {
    margin-right: 2px !important;
    color: var(--toss-text-mute) !important;
}

/* 카드 하단 버튼 영역 (선택/삭제/기본) */
#sod_addr .addr_btn {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-top: 4px !important;
    flex-wrap: wrap !important;
}
#sod_addr .btn_sel.sel_address {
    flex: 1 !important;
    height: 40px !important;
    padding: 0 !important;
    background: var(--toss-text) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
#sod_addr .del_address {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    padding: 0 14px !important;
    background: var(--toss-bg-soft) !important;
    color: #F04452 !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* 기본배송지 radio + label */
#sod_addr input[name="ad_default"] {
    display: none !important;
}
#sod_addr .add_lb {
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    padding: 0 12px !important;
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--toss-text-mute) !important;
    cursor: pointer;
}
#sod_addr input[name="ad_default"]:checked + .add_lb {
    background: rgba(49,130,246,.1) !important;
    border-color: var(--toss-blue, #3182F6) !important;
    color: var(--toss-blue, #3182F6) !important;
}
#sod_addr input[name="ad_default"]:checked + .add_lb::before {
    content: "✓ " !important;
}

/* 하단 액션바 (선택수정/닫기) */
#sod_addr .win_btn {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 90 !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    box-shadow: 0 -4px 12px rgba(0,0,0,.06) !important;
    display: flex !important;
    gap: 8px !important;
}
#sod_addr .win_btn .btn_submit {
    flex: 1 !important;
    height: 50px !important;
    padding: 0 !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
#sod_addr .win_btn .btn_close {
    flex-shrink: 0 !important;
    height: 50px !important;
    padding: 0 18px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
}


/* ============================================
   v6 — 주문 상세 페이지 (#sod_fin)
   ============================================ */

/* 컨테이너 */
#sod_fin {
    padding: 14px 14px 120px !important;
    background: var(--toss-bg-soft) !important;
    min-height: calc(100vh - 56px) !important;
}

/* 주문번호 */
#sod_fin_no {
    background: #fff !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    border: 1px solid var(--toss-border) !important;
    margin: 0 0 12px !important;
    font-size: 13px !important;
    color: var(--toss-text-mute) !important;
    font-weight: 500 !important;
    text-align: center !important;
}
#sod_fin_no strong {
    display: block !important;
    margin-top: 4px !important;
    color: var(--toss-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
}

/* 섹션 카드 */
#sod_fin .sod_fin_list,
#sod_fin > section,
#sod_fin > div.sod_section {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 14px !important;
    margin: 0 0 12px !important;
    padding: 16px !important;
    overflow: hidden !important;
}
#sod_fin h2 {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--toss-border) !important;
}
#sod_fin h3 {
    margin: 16px 0 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--toss-text-mute) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* 상품 리스트 (.sod_li) */
#sod_fin .sod_list,
#sod_fin #sod_list_inq {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#sod_fin .sod_li {
    list-style: none !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--toss-border) !important;
    margin: 0 !important;
    background: transparent !important;
}
#sod_fin .sod_li:last-child { border-bottom: 0 !important; }
#sod_fin .sod_li .sod_img,
#sod_fin .sod_li > div:first-child {
    width: 70px !important;
    height: 70px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-right: 12px !important;
}
#sod_fin .sod_li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
#sod_fin .sod_opt {
    font-size: 12px !important;
    color: var(--toss-text-mute) !important;
}

/* 결제 정보 dl (.sod_ta_wr) */
#sod_fin .sod_ta_wr {
    margin: 0 !important;
    padding: 0 !important;
}
#sod_fin .sod_ta_wr dl {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--toss-border) !important;
}
#sod_fin .sod_ta_wr dl:last-of-type { border-bottom: 0 !important; }
#sod_fin .sod_ta_wr dt {
    font-size: 13px !important;
    color: var(--toss-text-mute) !important;
    font-weight: 500 !important;
    margin: 0 !important;
}
#sod_fin .sod_ta_wr dd {
    font-size: 14px !important;
    color: var(--toss-text) !important;
    margin: 0 !important;
    font-weight: 600 !important;
    text-align: right !important;
}
#sod_fin .sod_ta_wr dd strong {
    font-weight: 700 !important;
}

/* 테이블 (배송/결제 정보 table) */
#sod_fin table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 8px 0 !important;
}
#sod_fin table th,
#sod_fin table td {
    padding: 10px 8px !important;
    border-bottom: 1px solid var(--toss-border) !important;
    text-align: left !important;
    font-size: 13px !important;
    vertical-align: top !important;
}
#sod_fin table th {
    width: 110px !important;
    color: var(--toss-text-mute) !important;
    font-weight: 500 !important;
    background: transparent !important;
}
#sod_fin table td {
    color: var(--toss-text) !important;
    font-weight: 600 !important;
}
#sod_fin table tr:last-child th,
#sod_fin table tr:last-child td { border-bottom: 0 !important; }

/* 상태 설명 박스 */
#sod_sts_wrap {
    margin: 8px 0 !important;
}
#sod_sts_explan {
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin: 8px 0 !important;
}
#sod_sts_explan dt {
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    font-size: 13px !important;
}
#sod_sts_explan dd {
    color: var(--toss-text-mute) !important;
    font-size: 12px !important;
    margin: 2px 0 8px !important;
}
.btn_wr {
    text-align: center !important;
    margin: 8px 0 !important;
}
.btn_wr #sod_sts_explan_open {
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    color: var(--toss-text) !important;
    cursor: pointer;
}

/* 모든 .btn_confirm 컨테이너 통합 처리 (입금통보 테스트 등 포함) */
#sod_fin .btn_confirm {
    margin: 12px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: center !important;
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    border: 0 !important;
    position: static !important;
}
#sod_fin .btn_confirm .btn_submit,
#sod_fin .btn_confirm input[type="submit"],
#sod_fin .btn_confirm button {
    flex: 1 !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    background: var(--toss-text) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

/* 주문 취소하기 + 취소 폼 */
#sod_fin button[onclick*="sod_fin_cancelfrm"] {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    background: #F04452 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
    margin: 8px 0 !important;
}
#sod_fin_cancelfrm {
    background: var(--toss-bg-soft) !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin: 8px 0 !important;
}
#sod_fin_cancelfrm .frm_input {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

/* 빈 데이터 셀 */
.empty_table {
    text-align: center !important;
    color: var(--toss-text-mute) !important;
    padding: 16px !important;
    font-size: 13px !important;
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
}


/* ============================================
   v7 — 글로벌 모바일 안전망 (탭바 가림 방지)
   ============================================ */

/* 쇼핑몰 컨테이너 기본 padding-bottom (탭바 56px + 여유) */
.shop-content,
#wrapper,
#container { padding-bottom: 80px !important; }

/* 공통 폼 입력 (.frm_input) */
.frm_input,
input.frm_input,
input[type="text"].frm_input,
input[type="password"].frm_input,
input[type="email"].frm_input,
input[type="tel"].frm_input,
input[type="number"].frm_input,
input[type="url"].frm_input {
    width: 100% !important;
    height: 48px !important;
    padding: 0 14px !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    color: var(--toss-text) !important;
    box-sizing: border-box !important;
    margin-bottom: 8px !important;
}
.frm_input:focus {
    outline: 0 !important;
    border-color: var(--toss-blue, #3182F6) !important;
    background: #fff !important;
}
select.frm_input { padding: 0 12px !important; }
textarea.frm_input {
    height: auto !important;
    min-height: 100px !important;
    padding: 12px 14px !important;
    line-height: 1.5 !important;
}
.frm_info {
    display: block !important;
    font-size: 11px !important;
    color: var(--toss-text-mute) !important;
    padding: 4px 4px 8px !important;
}

/* ============================================
   v7 — 로그인 페이지 (#mb_login)
   ============================================ */
#mb_login.mbskin,
#mb_login_notmb.mbskin,
#mb_login_od_wr.mbskin {
    padding: 20px 18px !important;
    background: #fff !important;
    margin-bottom: 10px !important;
}
#mb_login h2,
#mb_login_notmb h2,
#mb_login_od_wr h2 {
    margin: 0 0 16px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    text-align: center !important;
}
#login_frm {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
#login_frm .frm_input { margin-bottom: 8px !important; }
#login_info.chk_box {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 0 12px !important;
    border: 0 !important;
    background: transparent !important;
}
#login_info input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--toss-blue, #3182F6) !important;
    margin: 0 !important;
}
#login_info label {
    font-size: 13px !important;
    color: var(--toss-text) !important;
    cursor: pointer;
}
#mb_login .btn_submit,
#mb_login_notmb .btn_submit,
#mb_login_od_wr .btn_submit {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    margin: 8px 0 !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
    text-decoration: none !important;
    text-align: center !important;
    line-height: 50px !important;
}

/* 회원가입/아이디찾기 링크 */
.mb_login_join,
.mb_login_join ul {
    margin: 12px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
}
.mb_login_join li { list-style: none !important; }
.mb_login_join a {
    color: var(--toss-text-mute) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    position: relative !important;
}
.mb_login_join a:hover { color: var(--toss-blue, #3182F6) !important; }

/* 비회원 구매 안내 */
#guest_privacy {
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin: 12px 0 !important;
    font-size: 12px !important;
    color: var(--toss-text-mute) !important;
    max-height: 120px !important;
    overflow-y: auto !important;
}

/* ============================================
   v7 — 회원가입 폼 (.register)
   ============================================ */
.register {
    padding: 16px 14px !important;
    background: var(--toss-bg-soft) !important;
    min-height: calc(100vh - 56px) !important;
}
.register .form_01 {
    background: #fff !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin: 0 0 12px !important;
    border: 1px solid var(--toss-border) !important;
}
.register .form_01 ul,
.register .form_01 ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.register .form_01 li {
    list-style: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}
.register .form_01 li:last-child { margin-bottom: 0 !important; }
.register .full_input { width: 100% !important; }
.register .btn_frmline,
.register .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    background: var(--toss-text) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    text-decoration: none !important;
}
.register .btn_confirm {
    display: flex !important;
    gap: 8px !important;
    padding: 12px 0 !important;
    margin: 12px 0 !important;
}
.register .btn_confirm .btn_submit {
    flex: 1 !important;
    height: 52px !important;
    background: var(--toss-blue, #3182F6) !important;
}

/* ============================================
   v7 — 마이페이지 (#smb_my)
   ============================================ */
#smb_my {
    padding: 14px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
    min-height: calc(100vh - 56px) !important;
}
#smb_my > section {
    background: #fff !important;
    border-radius: 14px !important;
    border: 1px solid var(--toss-border) !important;
    margin: 0 0 12px !important;
    padding: 16px !important;
}
#smb_my section h2 {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--toss-border) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#smb_my .btn_more {
    display: inline-block !important;
    padding: 6px 12px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: 0 !important;
}

/* 회원 카드 (#smb_my_ov) */
#smb_my_ov .smb_my_act {
    list-style: none !important;
    padding: 0 !important;
    margin: 8px 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
#smb_my_ov .smb_my_act li {
    list-style: none !important;
    margin: 0 !important;
}
#smb_my_ov .smb_my_act a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 12px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
#smb_my_ov .smb_my_act .btn_admin {
    background: var(--toss-text) !important;
    color: #fff !important;
}
.my_ov_btn {
    text-align: center !important;
    margin-top: 12px !important;
}
.my_ov_btn .btn_op_area {
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-size: 12px !important;
    color: var(--toss-text) !important;
    cursor: pointer;
}

/* 위시 목록 in mypage */
#smb_my_wish ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
}
#smb_my_wish li {
    list-style: none !important;
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
    padding: 8px !important;
}
#smb_my_wish .wish_del {
    position: static !important;
    margin-top: 4px !important;
}

/* ============================================
   v7 — 주문 조회 목록 (#sod_v)
   ============================================ */
#sod_v {
    padding: 14px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
    min-height: calc(100vh - 56px) !important;
}
#sod_v_info {
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin: 0 0 12px !important;
    font-size: 12px !important;
    color: var(--toss-text-mute) !important;
}
#sod_v table {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}
#sod_v table th,
#sod_v table td {
    padding: 12px 10px !important;
    border-bottom: 1px solid var(--toss-border) !important;
    font-size: 13px !important;
    text-align: left !important;
}
#sod_v table th {
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text-mute) !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
}


/* ============================================
   v8 — 모바일 메인 카드 액션 버튼 (.sct_op_btn) 정리
   기본 sct_10 absolute 래퍼 + 25x20 버튼 강제 override
   ============================================ */

/* 래퍼: 절대위치 유지 (카드 우하단), 단 flex 컨테이너로 */
ul.m_sct .sct_op_btn,
.sct_10 .sct_op_btn,
ul.m_sct.sct_10 .sct_op_btn {
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    z-index: 3 !important;
}

/* 개별 버튼: 정적(부모 flex에 맡김) + 동일한 크기/스타일 */
ul.m_sct .sct_op_btn > button,
ul.m_sct .btn_wish,
ul.m_sct .btn_share,
.sct_10 .sct_op_btn > button,
ul.m_sct.sct_10 .sct_op_btn .btn_wish,
ul.m_sct.sct_10 .sct_op_btn .btn_share {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: rgba(255,255,255,.95) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 50% !important;
    color: var(--toss-text) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

/* 아이콘 크기 통일 */
ul.m_sct .sct_op_btn > button > i,
ul.m_sct .btn_wish > i,
ul.m_sct .btn_share > i,
.sct_10 .sct_op_btn > button > i {
    font-size: 13px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    color: inherit !important;
}

/* 위시 활성화 상태 (♥ 채워짐) */
ul.m_sct .btn_wish.on,
.sct_10 .sct_op_btn .btn_wish.on {
    background: #F04452 !important;
    border-color: #F04452 !important;
    color: #fff !important;
}

/* 호버 */
ul.m_sct .btn_wish:hover,
ul.m_sct .btn_share:hover {
    background: var(--toss-text) !important;
    color: #fff !important;
    border-color: var(--toss-text) !important;
}

/* SNS 공유 팝업/배경 - 카드 안에서 안 보이게 */
ul.m_sct .sct_sns_wrap,
ul.m_sct .sct_sns,
ul.m_sct .sct_sns_bg {
    display: none !important;
}
/* SNS 열릴 때만 표시 */
ul.m_sct .sct_sns_wrap.on,
ul.m_sct .sct_sns.on { display: block !important; }


/* ============================================
   v9 — 상품 옵션 오버레이 (#btn_option) 짤림 해결
   ============================================ */

/* 오버레이 자체 — z-index 탭바(999)보다 높이고 padding-bottom 충분히 */
#btn_option.show,
#btn_option[style*="block"] {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #fff !important;
    z-index: 1100 !important;       /* 탭바(999) 위 */
    max-height: 85vh !important;
    overflow-y: auto !important;
    padding: 16px 16px 32px !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.15) !important;
    -webkit-overflow-scrolling: touch !important;
}

/* 백드롭 (오버레이 뒤 어두운 배경) - 가상 요소 활용 */
#btn_option.show::before,
#btn_option[style*="block"]::before {
    content: "" !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    background: rgba(0,0,0,.4) !important;
    z-index: -1 !important;
    pointer-events: none !important;
}

/* 오버레이 열렸을 때 탭바 / 구매하기 버튼 숨김 */
body:has(#btn_option[style*="block"]) #m_tabbar,
body:has(#btn_option.show) #m_tabbar {
    display: none !important;
}
body:has(#btn_option[style*="block"]) .btn_option_wr,
body:has(#btn_option.show) .btn_option_wr {
    display: none !important;
}
body:has(#btn_option[style*="block"]) {
    overflow: hidden !important;    /* 본문 스크롤 잠금 */
}

/* 닫기 버튼 (basic 스킨의 .btn_close — 상단 손잡이 형태) */
#btn_option .btn_close {
    position: absolute !important;
    top: 8px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    width: 48px !important;
    height: 4px !important;
    background: var(--toss-border) !important;
    border: 0 !important;
    border-radius: 2px !important;
    cursor: pointer;
    z-index: 2 !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-indent: -9999px !important;
}
#btn_option .btn_close:hover {
    background: var(--toss-text-mute) !important;
}

/* 내부 옵션 영역 패딩 - 손잡이 안 가리게 */
#btn_option .sl_option {
    margin-top: 20px !important;
    padding: 0 !important;
}

/* 내부 옵션/수량/합계 박스 정리 */
#btn_option .sit_option,
#btn_option .sit_opt_added,
#btn_option .sit_tot_price {
    background: var(--toss-bg-soft) !important;
    border-radius: 10px !important;
    padding: 12px !important;
    margin: 0 0 10px !important;
}
#btn_option h3 {
    margin: 0 0 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
}
#btn_option select,
#btn_option .frm_input {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    margin: 4px 0 !important;
}

/* 하단 sit_ov_btn - sticky 처럼 항상 보이게 */
#btn_option #sit_ov_btn {
    position: sticky !important;
    bottom: 0 !important;
    background: #fff !important;
    padding: 12px 0 0 !important;
    margin-top: 12px !important;
    border-top: 1px solid var(--toss-border) !important;
    z-index: 5 !important;
}


/* ============================================
   v10 — 옵션 오버레이 최종 (JS body 클래스 + iOS safe-area)
   ============================================ */

/* body 락 + 백드롭 (탭바·구매 버튼 위에) */
body.m_option_open {
    overflow: hidden !important;
    position: relative !important;
}
body.m_option_open::after {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.45) !important;
    z-index: 1050 !important;
    pointer-events: none !important;
}

/* 오버레이 열렸을 때 탭바/구매하기 버튼 숨김 */
body.m_option_open #m_tabbar,
body.m_option_open .btn_option_wr {
    display: none !important;
}

/* 오버레이 본체 — bottom 0 + 세이프 에리어 보정 */
#btn_option.show,
#btn_option[style*="block"] {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #fff !important;
    z-index: 1100 !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
    /* iOS 하단 세이프 에리어 영역에도 흰 배경 + 패딩 */
    padding: 16px 16px calc(20px + env(safe-area-inset-bottom)) !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.15) !important;
    -webkit-overflow-scrolling: touch !important;
    /* 이전 v9 의 ::before 백드롭 비활성화 (body::after 로 대체) */
}
#btn_option.show::before,
#btn_option[style*="block"]::before {
    display: none !important;
}

/* 닫기 손잡이 */
#btn_option .btn_close {
    position: sticky !important;
    top: -8px !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto 12px !important;
    transform: none !important;
    width: 48px !important;
    height: 4px !important;
    background: var(--toss-border) !important;
    border: 0 !important;
    border-radius: 2px !important;
    cursor: pointer;
    padding: 0 !important;
    overflow: hidden !important;
    text-indent: -9999px !important;
    display: block !important;
    z-index: 2 !important;
}

/* 옵션 영역 */
#btn_option .sl_option {
    margin: 0 !important;
    padding: 0 !important;
}
#btn_option .sit_option,
#btn_option .sit_opt_added,
#btn_option .sit_tot_price {
    background: var(--toss-bg-soft) !important;
    border-radius: 10px !important;
    padding: 12px !important;
    margin: 0 0 10px !important;
}
#btn_option h3 {
    margin: 0 0 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
}
#btn_option select,
#btn_option .frm_input {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    margin: 4px 0 !important;
}

/* 하단 sit_ov_btn - sticky (스크롤해도 항상 보이게) */
#btn_option #sit_ov_btn {
    position: sticky !important;
    bottom: 0 !important;
    background: #fff !important;
    padding: 12px 0 4px !important;
    margin: 12px 0 0 !important;
    border-top: 1px solid var(--toss-border) !important;
    z-index: 5 !important;
    display: flex !important;
    gap: 8px !important;
}


/* ============================================
   v11 — 옵션 오버레이 X 닫기 버튼 (우상단) + 드래그 핸들 분리
   ============================================ */

/* v10 의 sticky 손잡이 스타일 해제 후, X 버튼으로 재설계 */
#btn_option .btn_close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    margin: 0 !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 50% !important;
    cursor: pointer;
    z-index: 20 !important;
    overflow: hidden !important;
    text-indent: 0 !important;
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    color: var(--toss-text) !important;
    box-shadow: 0 2px 4px rgba(0,0,0,.04) !important;
}
#btn_option .btn_close::before {
    content: "✕" !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    line-height: 1 !important;
}
#btn_option .btn_close:hover {
    background: var(--toss-text) !important;
    border-color: var(--toss-text) !important;
}
#btn_option .btn_close:hover::before {
    color: #fff !important;
}
/* basic 스킨 fa 아이콘이 있으면 숨김 (✕로 통일) */
#btn_option .btn_close i,
#btn_option .btn_close .sound_only {
    display: none !important;
}

/* 드래그 핸들 - 오버레이 상단에 표시 (안 눌림, 시각용) */
#btn_option.show::after,
#btn_option[style*="block"]::after {
    content: "" !important;
    position: absolute !important;
    top: 8px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 48px !important;
    height: 4px !important;
    background: var(--toss-border) !important;
    border-radius: 2px !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* 상단 패딩을 살짝 늘려 핸들+X 버튼 공간 확보 */
#btn_option.show,
#btn_option[style*="block"] {
    padding-top: 28px !important;
}


/* ============================================
   v12 — 미점검 페이지 일괄 정비 (9개)
   ============================================ */

/* full_input 모바일 폭 보정 (어디서든 화면 넘침 방지) */
.full_input {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ============================================
   1. 검색 결과 (#ssch)
   ============================================ */
#ssch {
    padding: 16px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
    min-height: calc(100vh - 56px) !important;
}
#ssch_ov {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    margin: 0 0 12px !important;
    font-size: 13px !important;
    color: var(--toss-text-mute) !important;
}
#ssch_frm {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    margin: 0 0 12px !important;
}
#ssch .sch_wr {
    display: flex !important;
    gap: 6px !important;
    margin: 0 0 12px !important;
}
#ssch_q.frm_input {
    flex: 1 !important;
    margin: 0 !important;
}
#ssch .sch_submit {
    flex-shrink: 0 !important;
    width: 48px !important;
    height: 48px !important;
    background: var(--toss-text) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    cursor: pointer;
}
#ssch_frm > p,
#ssch_frm .chk_box_wr {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    margin: 6px 0 !important;
    font-size: 13px !important;
}
#ssch_frm label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    cursor: pointer;
}
#ssch_frm input[type="checkbox"],
#ssch_frm input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--toss-blue, #3182F6) !important;
}

/* ============================================
   2. 쿠폰존 (#cp_*)
   ============================================ */
#cps_list,
.cps_list {
    padding: 14px !important;
    background: var(--toss-bg-soft) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 0 !important;
    list-style: none !important;
    padding-bottom: 100px !important;
}
.cps_list > li,
.cp_inner {
    list-style: none !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 14px !important;
    padding: 14px !important;
    margin: 0 !important;
}
.cp_inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.coupon_img img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
}
.coupon_tit {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    line-height: 1.4 !important;
}
.coupon_tit .cp_evt {
    display: block !important;
    margin-top: 4px !important;
    color: #C8102E !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.cp_cnt {
    font-size: 12px !important;
    color: var(--toss-text-mute) !important;
}
/* 쿠폰 다운로드/포인트교환 버튼 - 카드 내부에 배치 (sticky 불필요) */
.cp_inner .btn_submit,
.cp_inner .btn_frmline,
.cp_inner button[onclick*="download"],
.cp_inner button[onclick*="point"],
.coupon_btn .btn_submit,
.coupon_btn button {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    margin-top: 4px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
.cp_inner .cp_btn_get,
.coupon_btn .btn02 { background: var(--toss-text) !important; }

/* ============================================
   3. 후기 작성 (#sit_use_write) — new_win 팝업
   ============================================ */
#sit_use_write.new_win {
    padding: 16px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
    min-height: 100vh !important;
}
#sit_use_write .form_01,
#sit_use_write fieldset,
#sit_use_write > ul {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin: 0 0 12px !important;
    list-style: none !important;
}
#sit_use_write h2,
#sit_use_write h3 {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
}
/* 별점 - 가로 5개 균등 (이미지 90px 대신 텍스트 라디오) */
#sit_use_write_star {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 4px !important;
}
#sit_use_write_star > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#sit_use_write_star input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
}
#sit_use_write_star label {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 8px 4px !important;
    background: var(--toss-bg-soft) !important;
    border: 1.5px solid var(--toss-border) !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--toss-text-mute) !important;
    cursor: pointer;
    box-sizing: border-box !important;
}
#sit_use_write_star label::before {
    content: "★" !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: var(--toss-text-mute) !important;
}
#sit_use_write_star input:checked + label {
    background: rgba(255,193,7,.1) !important;
    border-color: #FFC107 !important;
    color: #C8102E !important;
}
#sit_use_write_star input:checked + label::before {
    color: #FFC107 !important;
}
/* textarea / file upload 정리 */
#sit_use_write textarea,
#sit_use_write_textarea,
#sit_use_write .frm_input {
    width: 100% !important;
    box-sizing: border-box !important;
}
#sit_use_write textarea {
    min-height: 140px !important;
    padding: 12px !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* ============================================
   4. 상품문의 작성 (#sit_qa_write) — new_win 팝업
   ============================================ */
#sit_qa_write.new_win {
    padding: 16px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
    min-height: 100vh !important;
}
#sit_qa_write fieldset,
#sit_qa_write .form_01,
#sit_qa_write > ul {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin: 0 0 12px !important;
    list-style: none !important;
}
#sit_qa_write .frm_input,
#sit_qa_write input.full_input {
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}
#sit_qa_write textarea {
    width: 100% !important;
    min-height: 140px !important;
    padding: 12px !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
#sit_qa_write .frm_info {
    display: block !important;
    margin: 4px 0 8px !important;
    padding: 0 !important;
    font-size: 11px !important;
    color: var(--toss-text-mute) !important;
}

/* 후기/문의 작성 공통: 하단 sticky 버튼 (.win_btn) */
#sit_use_write .win_btn,
#sit_qa_write .win_btn {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 80 !important;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    box-shadow: 0 -4px 12px rgba(0,0,0,.06) !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
}
#sit_use_write .win_btn .btn_submit,
#sit_qa_write .win_btn .btn_submit {
    flex: 1 !important;
    height: 50px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
#sit_use_write .win_btn .btn_close,
#sit_qa_write .win_btn .btn_close {
    flex-shrink: 0 !important;
    height: 50px !important;
    padding: 0 18px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
}

/* ============================================
   5. 게시판 글쓰기 (#bo_w) — sticky 제출 버튼
   ============================================ */
#bo_w {
    padding: 14px !important;
    background: var(--toss-bg-soft) !important;
    padding-bottom: 140px !important;
    min-height: calc(100vh - 56px) !important;
}
#bo_w > .write_div,
#bo_w fieldset {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    margin: 0 0 10px !important;
}
#bo_w .frm_input,
#bo_w input[type="text"],
#bo_w input[type="email"],
#bo_w input[type="password"],
#bo_w select {
    width: 100% !important;
    height: 48px !important;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    margin: 4px 0 !important;
    box-sizing: border-box !important;
}
#bo_w textarea {
    width: 100% !important;
    min-height: 200px !important;
    padding: 12px !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
#bo_w .bo_w_flie,
#bo_w .file_wr {
    display: block !important;
    margin: 8px 0 !important;
}
/* 하단 제출 버튼 sticky */
#bo_w .btn_confirm {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 56px !important;
    z-index: 90 !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    box-shadow: 0 -4px 12px rgba(0,0,0,.06) !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
}
#bo_w .btn_confirm .btn_submit,
#bo_w #btn_submit {
    flex: 1 !important;
    width: auto !important;
    height: 50px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
#bo_w .btn_confirm a,
#bo_w .btn_confirm .btn_cancel {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    padding: 0 18px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* ============================================
   6. 후기/문의 목록 z-index 안전망
   ============================================ */
.sit_use_list,
.sit_qa_list {
    padding: 14px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
}
.sit_use_list > li,
.sit_qa_list > li {
    list-style: none !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    margin: 0 0 8px !important;
}

/* ============================================
   7. FAQ 목록
   ============================================ */
#fb_fl,
#faq_list {
    padding: 14px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
    min-height: calc(100vh - 56px) !important;
}
#fb_fl li,
#faq_list li {
    list-style: none !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    margin: 0 0 8px !important;
}


/* ============================================
   v13 — 모바일 미점검 10개 일괄 처리
   ============================================ */

/* ---- 글로벌: tbl_head01 테이블 모바일 반응형 ---- */
.tbl_head01,
.tbl_wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 0 12px !important;
    background: #fff !important;
    border-radius: 10px !important;
    border: 1px solid var(--toss-border) !important;
}
.tbl_head01 table,
.tbl_wrap table {
    min-width: 100% !important;
    border-collapse: collapse !important;
    font-size: 12px !important;
}
.tbl_head01 th,
.tbl_head01 td,
.tbl_wrap th,
.tbl_wrap td {
    padding: 8px 6px !important;
    border-bottom: 1px solid var(--toss-border) !important;
    text-align: left !important;
    vertical-align: middle !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    word-break: break-all !important;
}
.tbl_head01 th,
.tbl_wrap th {
    background: var(--toss-bg-soft) !important;
    font-weight: 600 !important;
    color: var(--toss-text-mute) !important;
}

/* ============================================
   1. 게시판 글쓰기 #bo_w padding-bottom 보강 (v12 보완)
   ============================================ */
#bo_w {
    padding-bottom: 160px !important;
}
#bo_w .btn_confirm {
    padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
}

/* ============================================
   2. 회원정보 수정 — register_form UPDATE 모드
   ============================================ */
.register .btn_confirm,
#fregisterform .btn_confirm {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 90 !important;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    box-shadow: 0 -4px 12px rgba(0,0,0,.06) !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
}
.register,
#fregisterform {
    padding-bottom: 160px !important;
}
.register .btn_confirm .btn_submit,
#fregisterform .btn_confirm .btn_submit {
    flex: 1 !important;
    height: 50px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
.register .btn_confirm .btn_cancel,
#fregisterform .btn_confirm .btn_cancel,
.register .btn_confirm a {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    padding: 0 18px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

/* ============================================
   3. 1:1 문의 작성/조회 (#bo_w 사용 동일 처리됨)
   ============================================ */
/* #bo_w 처리는 위에서 완료. qa-specific 헤더만 */
#qa_view,
#qa_list {
    padding: 14px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
}
#qa_view .qa_v_info,
#qa_list .qa_l_info {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    margin: 0 0 10px !important;
}

/* ============================================
   4. 회원가입 약관 동의 (#fregister_term, #fregister_private)
   ============================================ */
#fregister {
    padding: 14px 14px 160px !important;
    background: var(--toss-bg-soft) !important;
}
#fregister_chkall,
#fregister_term,
#fregister_private {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    margin: 0 0 10px !important;
}
#fregister_chkall h2,
#fregister_term h2,
#fregister_private h2 {
    margin: 0 0 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
}
/* 약관 안 테이블/긴 텍스트 영역 */
#fregister_term .agree_box,
#fregister_private .agree_box,
#fregister_term .tbl_wrap,
#fregister_private .tbl_wrap {
    max-height: 200px !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
    padding: 10px !important;
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
    border: 1px solid var(--toss-border) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: var(--toss-text-mute) !important;
    margin: 0 0 10px !important;
}
/* 동의 체크박스 */
#fregister .chk_all,
#fregister_term .chk_box,
#fregister_private .chk_box {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px !important;
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
}
#fregister input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--toss-blue, #3182F6) !important;
    cursor: pointer;
}
#fregister .btn_confirm {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 90 !important;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
}
#fregister .btn_confirm .btn_submit {
    flex: 1 !important;
    height: 50px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* ============================================
   5. 댓글 작성 (.bo_vc_w) sticky 보강
   ============================================ */
.bo_vc_w {
    padding: 14px !important;
    background: #fff !important;
    border-top: 1px solid var(--toss-border) !important;
    margin-bottom: 60px !important;
}
.bo_vc_w textarea {
    width: 100% !important;
    min-height: 100px !important;
    padding: 12px !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
}
.bo_vc_w .btn_confirm,
.bo_vc_w .write_btn {
    display: flex !important;
    gap: 8px !important;
    margin-top: 10px !important;
    padding: 0 !important;
}
.bo_vc_w .btn_submit {
    flex: 1 !important;
    height: 46px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

/* ============================================
   6. 비밀번호 찾기 (password_lost)
   ============================================ */
#mb_lost,
.password_lost {
    padding: 20px 18px 120px !important;
    background: #fff !important;
    min-height: calc(100vh - 56px) !important;
}
#mb_lost h2,
.password_lost h2 {
    margin: 0 0 16px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-align: center !important;
}
#mb_lost .frm_input,
.password_lost .frm_input {
    width: 100% !important;
    box-sizing: border-box !important;
}
#mb_lost .win_btn,
.password_lost .win_btn,
.cert_btn {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 16px !important;
}
#mb_lost .btn_submit,
.password_lost .btn_submit,
.cert_btn button {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

/* ============================================
   7. 개인결제 (personalpay)
   ============================================ */
#personalpay_list,
.personalpay {
    padding: 14px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
}
.personalpay .sct,
#personalpay_list .sct {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.personalpay .sct_li {
    list-style: none !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 10px !important;
}
.sct_noitem {
    text-align: center !important;
    padding: 60px 20px !important;
    color: var(--toss-text-mute) !important;
    background: #fff !important;
    border-radius: 12px !important;
    border: 1px dashed var(--toss-border) !important;
}

/* ============================================
   8. 이벤트 페이지 페이지네이션 안전망
   ============================================ */
.pg_wrap,
.pg {
    margin: 16px 0 !important;
    padding: 0 14px 80px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px !important;
    list-style: none !important;
    flex-wrap: wrap !important;
}
.pg a,
.pg strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    color: var(--toss-text) !important;
    font-size: 13px !important;
    text-decoration: none !important;
}
.pg strong,
.pg .pg_current {
    background: var(--toss-text) !important;
    color: #fff !important;
    border-color: var(--toss-text) !important;
}
.pg a:hover { background: var(--toss-bg-soft) !important; }

/* ============================================
   9. 상품 추천 (itemrecommend)
   ============================================ */
#sit_rec,
.itemrecommend_wrap {
    padding: 16px 14px 100px !important;
    background: var(--toss-bg-soft) !important;
}
#sit_rec fieldset,
.itemrecommend_wrap fieldset {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin: 0 0 12px !important;
}
#sit_rec textarea,
.itemrecommend_wrap textarea {
    width: 100% !important;
    min-height: 120px !important;
    padding: 12px !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
}
#sit_rec .win_btn,
.itemrecommend_wrap .win_btn {
    display: flex !important;
    gap: 8px !important;
    margin-top: 12px !important;
}
#sit_rec .btn_submit,
.itemrecommend_wrap .btn_submit {
    flex: 1 !important;
    height: 50px !important;
    background: var(--toss-blue, #3182F6) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* ============================================
   10. 게시판 목록 fieldset 검색 영역 정렬
   ============================================ */
#bo_sch,
.bo_sch {
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    margin: 12px 0 !important;
}
#bo_sch legend {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--toss-text) !important;
    margin-bottom: 8px !important;
}
#bo_sch select,
#bo_sch input[type="text"] {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    margin: 4px 0 !important;
    box-sizing: border-box !important;
}
#bo_sch .btn_submit {
    width: 100% !important;
    height: 46px !important;
    background: var(--toss-text) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    margin-top: 8px !important;
    font-weight: 700 !important;
    cursor: pointer;
}


/* ============================================
   v14 — 모바일 quick_links 카드 그리드 (PC와 동일 구조)
   ============================================ */
.m_quick_links,
section.quick_links.m_quick_links {
    padding: 16px 14px 8px !important;
    background: #fff !important;
}
.m_quick_links .inner {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 10px !important;
}
.m_quick_links .ql_card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    color: var(--toss-text) !important;
    cursor: pointer !important;
    transition: transform .15s ease !important;
}
.m_quick_links .ql_card:active {
    transform: scale(0.97) !important;
}
.m_quick_links .ql_card_inner {
    width: 100% !important;
    aspect-ratio: 1.8 / 1 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 클릭 인터셉트 방지 */
.m_quick_links .ql_card_inner,
.m_quick_links .ql_card_title,
.m_quick_links .ql_card_caption,
.m_quick_links .ql_card_emoji {
    pointer-events: none !important;
}

/* 캡션 */
.m_quick_links .ql_card_caption {
    font-size: 11.5px !important;
    font-weight: 500 !important;
    color: var(--toss-text-mute) !important;
    text-align: center !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
    pointer-events: none !important;
}

/* 사진 카드 */
.m_quick_links .ql_photo .ql_card_inner {
    background-size: cover !important;
    background-position: center !important;
}
/* v18 — 이미지 내장 영문 텍스트 우선, overlay/한글 타이틀 숨김 */
.m_quick_links .ql_photo .ql_card_inner::before {
    content: none !important;
    display: none !important;
}
.m_quick_links .ql_card_title,
.m_quick_links .ql_card_emoji {
    display: none !important;
}

/* v18 — 10개 카드 모두 BAG 폴더 이미지로 통일 */
.m_quick_links .ql_card_1 .ql_card_inner  { background-image: url('../img/quick_links/1.png') !important; }
.m_quick_links .ql_card_2 .ql_card_inner  { background-image: url('../img/quick_links/2.png') !important; }
.m_quick_links .ql_card_3 .ql_card_inner  { background-image: url('../img/quick_links/3.png') !important; }
.m_quick_links .ql_card_4 .ql_card_inner  { background-image: url('../img/quick_links/4.png') !important; }
.m_quick_links .ql_card_5 .ql_card_inner  { background-image: url('../img/quick_links/5.png') !important; }
.m_quick_links .ql_card_6 .ql_card_inner  { background-image: url('../img/quick_links/6.png') !important; }
.m_quick_links .ql_card_7 .ql_card_inner  { background-image: url('../img/quick_links/7.png') !important; }
.m_quick_links .ql_card_8 .ql_card_inner  { background-image: url('../img/quick_links/8.png') !important; }
.m_quick_links .ql_card_9 .ql_card_inner  { background-image: url('../img/quick_links/9.png') !important; }
.m_quick_links .ql_card_10 .ql_card_inner { background-image: url('../img/quick_links/10.png') !important; }

/* 아이콘 카드 */
.m_quick_links .ql_icon .ql_card_inner {
    background: var(--toss-bg-soft) !important;
    border: 1px solid var(--toss-border) !important;
}
.m_quick_links .ql_card_emoji {
    font-size: 28px !important;
    line-height: 1 !important;
    color: var(--toss-text) !important;
    font-weight: 800 !important;
    pointer-events: none !important;
}
.m_quick_links .ql_card_emoji sup {
    font-size: 14px !important;
    color: #C8102E !important;
    vertical-align: super !important;
}
.m_quick_links .ql_card_all .ql_card_inner {
    background: linear-gradient(135deg, #fff 0%, #f0f4f9 100%) !important;
    border: 1px solid var(--toss-border) !important;
}

/* ============================================
   v15 — 모바일 quick_links 미세조정 + 옛 m_quick 제거
   ============================================ */

/* 1. 옛 .m_quick (가로 스크롤 칩) 무효화 — 더 이상 사용 안 함 */
.m_quick { display: none !important; }

/* 2. 카드 비율 1.8:1 → 1.6:1 (사진 더 잘 보이게) */
.m_quick_links .ql_card_inner {
    aspect-ratio: 1.6 / 1 !important;
}

/* 3. 캡션 폰트 11.5 → 12.5px (가독성) */
.m_quick_links .ql_card_caption {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

/* 4. 하단 여백 8px → 20px */
.m_quick_links,
section.quick_links.m_quick_links {
    padding-bottom: 20px !important;
}

/* 5. 사진 로드 실패 시 폴백 배경 (다크 그라디언트) */
.m_quick_links .ql_card_1 .ql_card_inner { background-color: #2D4A3E !important; }
.m_quick_links .ql_card_2 .ql_card_inner { background-color: #4A3E2D !important; }
.m_quick_links .ql_card_3 .ql_card_inner { background-color: #2D3A4A !important; }
.m_quick_links .ql_card_4 .ql_card_inner { background-color: #3A2D4A !important; }
.m_quick_links .ql_card_5 .ql_card_inner { background-color: #4A2D3A !important; }

/* 6. 제목 폰트 살짝 키움 15 → 16px (사진과 균형) */
.m_quick_links .ql_card_title {
    font-size: 16px !important;
}

/* ================================================================
   v16 — 모바일 사용후기/상품문의 영역 통합 재설계
   ----------------------------------------------------------------
   skin/mobile/basic/style.css 의 모든 절대위치/float 룰 무력화.
   마크업 (모바일 itemuse.skin.php):
     <button.sit_use_li_title>[제목]</button>   ← 토글 = 제목
     <dl.sit_use_dl>
       <dt>작성자</dt><dd>김바로</dd>
       <dt>작성일</dt><dd>⏱ 26-05-22</dd>
       <dt>선호도</dt><dd.sit_use_star><img></dd>
     </dl>
     <div.sit_use_con>[본문 + 수정/삭제]</div>
   ================================================================ */

/* --- skin 의 #sit_use h2 절대위치 무력화 (이미 display:none이라 영향 없지만 안전망) --- */
#sit_use h2,
#sit_use h3 {
    position: static !important;
    top: auto !important;
    left: auto !important;
    text-indent: 0 !important;
}

/* --- 액션 버튼 묶음: 사용후기 쓰기 + 더보기 --- */
#sit_use_wbtn {
    display: flex !important;
    gap: 8px !important;
    justify-content: stretch !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    float: none !important;
}
#sit_use_wbtn::after {
    display: none !important;
    content: none !important;
}
#sit_use_wbtn a {
    flex: 1 1 auto !important;
    width: auto !important;
    height: 40px !important;
    line-height: 40px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    text-align: center !important;
    text-decoration: none !important;
    float: none !important;
    border: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#sit_use_wbtn .qa_wr,
#sit_use_wbtn .itemuse_form {
    background: var(--toss-text) !important;
    color: #fff !important;
}
#sit_use_wbtn .btn01,
#sit_use_wbtn #itemuse_list {
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text) !important;
}

/* --- 후기 목록 컨테이너 --- */
#sit_use_list,
.sit_use_list {
    margin: 0 !important;
    padding: 0 !important;
}
#sit_use_ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* --- 후기 카드 --- */
.sit_use_li {
    position: static !important;
    background: #fff !important;
    border: 1px solid var(--toss-border) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    list-style: none !important;
    border-bottom-width: 1px !important;
}
.sit_use_li::after,
.sit_use_dl::after {
    display: none !important;
    content: none !important;
}

/* --- 제목 토글 버튼 (li의 첫 자식) --- */
.sit_use_li > .sit_use_li_title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: var(--toss-text) !important;
    cursor: pointer;
    position: static !important;
}
.sit_use_li > .sit_use_li_title::after {
    content: "▾";
    font-size: 12px;
    color: var(--toss-text-mute);
    flex-shrink: 0;
}

/* --- dl (작성자/작성일/별점) --- */
.sit_use_li > .sit_use_dl {
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    line-height: 1.4 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 12px !important;
}
.sit_use_li > .sit_use_dl dt {
    display: none !important;
    position: static !important;
    font-size: 0 !important;
    text-indent: 0 !important;
}
.sit_use_li > .sit_use_dl dd {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--toss-text-mute) !important;
    font-size: 12px !important;
    float: none !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.sit_use_li > .sit_use_dl dd .fa-clock-o {
    color: var(--toss-text-mute);
}
.sit_use_li > .sit_use_dl .sit_use_star {
    position: static !important;
    margin: 0 !important;
    right: auto !important;
    bottom: auto !important;
}
.sit_use_li > .sit_use_dl .sit_use_star img {
    width: 70px !important;
    height: auto !important;
    vertical-align: middle;
    display: inline-block;
    border: 0;
}

/* --- 펼침 영역 --- */
.sit_use_li > .sit_use_con {
    display: none;
    padding: 12px 0 0 !important;
    margin: 12px 0 0 !important;
    border-top: 1px solid var(--toss-border);
}
.sit_use_li .sit_use_p {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: var(--toss-text) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.sit_use_li .sit_use_p img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px;
    margin: 8px 0;
}
.sit_use_li .sit_use_cmd {
    margin-top: 12px !important;
    padding: 0 !important;
    display: flex !important;
    gap: 6px !important;
    justify-content: flex-end !important;
    text-align: right !important;
}
.sit_use_li .sit_use_cmd a {
    padding: 6px 12px !important;
    font-size: 12px !important;
    background: var(--toss-bg-soft) !important;
    color: var(--toss-text-sub) !important;
    border: 0 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    height: auto !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center;
    float: none !important;
}
.sit_use_li .sit_use_cmd a.itemuse_form {
    background: var(--toss-text) !important;
    color: #fff !important;
}

/* --- 답변 영역 --- */
.sit_use_li .sit_use_reply {
    margin-top: 12px !important;
    padding: 12px 14px !important;
    background: var(--toss-bg-soft) !important;
    border-radius: 8px !important;
    border-left: 3px solid var(--toss-text-sub) !important;
}
.sit_use_li .sit_use_reply .use_reply_icon {
    display: inline-block;
    padding: 2px 8px;
    background: var(--toss-text);
    color: #fff;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 6px;
}
.sit_use_li .sit_use_reply .use_reply_tit {
    font-weight: 600;
    font-size: 13px;
    color: var(--toss-text);
    margin-bottom: 4px;
}
.sit_use_li .sit_use_reply .use_reply_name {
    font-size: 11px;
    color: var(--toss-text-mute);
    margin-bottom: 6px;
}
.sit_use_li .sit_use_reply .use_reply_p {
    font-size: 13px;
    color: var(--toss-text-sub);
    line-height: 1.6;
}
