@charset "utf-8";
/* @import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css"); */
@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-Thin.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-ExtraLight.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-Light.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-Regular.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-Medium.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-SemiBold.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-Bold.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-ExtraBold.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('/_assets/font/Pretendard/Pretendard-Black.woff2') format('woff2'),
         url('/_assets/font/Pretendard/Pretendard-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* ───────── reset ───────── */
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html, body { width:100%; height:100%; }
body { font-family: 'Pretendard', 'Apple SD Gothic Neo','맑은 고딕','Malgun Gothic',sans-serif; font-size:14px; line-height:1.5; color:#222; background:#fff; -webkit-text-size-adjust:none; }
img { max-width:100%; vertical-align:top; border:0; }
a { color:inherit; text-decoration:none; }
ul, ol, li { list-style:none; }
button, input, select, textarea {font-family: inherit !important;font-size:inherit;color:inherit;outline:none;border:0;background:transparent;}
button { cursor:pointer; }
table { border-collapse:collapse; border-spacing:0; width:100%; }

/* ───────── global ───────── */
:root {
	--inPd: 20px;
    --font-Pretendard: "Pretendard", sans-serif;
    --color-main: #2B53CF;
}

/* ───────── layout ───────── */
#wrap {width:100%;max-width:640px;min-height:100vh;margin:0 auto;background: #F9F9FE;position:relative;display:flex;flex-direction:column;}
#container {flex:1;padding: 30px 0 80px;}
.inner {width:100%;margin:0 auto;}
.cinner {padding: 0 var(--inPd);}

/* ───────── header ───────── */
.g_header {width:100%;background: var(--color-main);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(72,52,212,0.18);}
.g_header .inner {display:flex;align-items:center;justify-content:space-between;height: 70px;padding: 0 var(--inPd);position: relative;}

.g_header .btn_menu {display:inline-flex;flex-direction:column;justify-content: space-between;align-items:center;width: 24px;aspect-ratio: 24 / 19;background:transparent;position: absolute;top: 50%;left: 20px;transform: translateY(-50%);}
.g_header .btn_menu span {display:block;width: 100%;height: 3px;background:#fff;border-radius:2px;}

.g_header .logo {flex-shrink: 0;width: 144px;margin-left: 50px;}
.g_header .logo a {display:inline-flex;justify-content: center;align-items:center;color:#fff;}
.g_header .logo a img {}
.g_header .logo .logo_text { font-size:24px; font-weight:900; letter-spacing:1px; color:#fff; text-shadow:0 2px 4px rgba(0,0,0,0.15); }

.g_header .util {display:flex;align-items:center;gap: 10px;}

.g_header .util a {display: flex;align-items: center;gap: 6px;color: #fff;font-size: 17px;position: relative;transition: .2s ease;}
.g_header .util a:not(:last-child) {padding-right: 10px;}
.g_header .util a:not(:last-child)::after {content: '';display: block;width: 1px;height: 44%;background: #fff;position: absolute;top: 0;right: 0;bottom: 0;margin: auto;}
.g_header .util a .ico {display: block;width: 20px;height: 20px;}
.g_header .util a:hover {opacity: .85;}

@media (max-width: 480px){
    .g_header .logo {margin-left: 30px;}
    .g_header .logo img {max-width: 85%;}
    .g_header .util a {flex-direction: column;gap: 2px;font-size: 13px;}
    .g_header .util a:not(:last-child)::after {height: 60%;}
}



/* ───────── sub header (상세/서브 페이지, g_header 아래) ───────── */
.g_subheader {position:sticky;top: 70px;z-index:99;width:100%;height:48px;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:center;}
.g_subheader .btn_back { position:absolute; left:4px; top:0; width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:transparent; border:0; cursor:pointer; }
.g_subheader .btn_back span { display:block; width:11px; height:11px; border-left:2px solid #222; border-bottom:2px solid #222; transform:rotate(45deg); margin-left:6px; }
.g_subheader .title {font-size: 17px;font-weight:700;color: #16379d;letter-spacing:-0.3px;}

/* ───────── 상품 상세 (item_view) ───────── */
.item_view .main_thumb { width:100%; aspect-ratio:1/1; background:linear-gradient(135deg,#f4f2ff,#e6e1ff); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
/* 빈 상태 아이콘은 .no_img 엘리먼트가 담당 — 중복 오버레이 방지 위해 ::after 미사용 */
.item_view .main_thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

.item_view .summary { padding:22px 18px 18px; border-bottom:8px solid #f5f3ff; }
.item_view .summary .name { font-size:18px; font-weight:800; color:#1e1a4a; letter-spacing:-0.3px; line-height:1.4; margin-bottom:12px; }
.item_view .summary .price { font-size:14px; font-weight:600; color:#ff7a18; }
.item_view .summary .price .amt { font-weight:800; text-decoration:line-through; text-decoration-thickness:1.5px; margin-left:2px; }
.item_view .summary .meta { margin-top:18px; padding-top:14px; border-top:1px solid #f0eeff; }
.item_view .summary .meta p { font-size:13px; color:#444; line-height:1.7; }

.item_view .detail { padding:18px 0 40px; }
.item_view .detail img { display:block; width:100%; height:auto; }
.g_dim { display:none; position:fixed; inset:0; background:rgba(20,16,55,0.5); backdrop-filter:blur(2px); z-index:200; opacity:0; transition:opacity 0.25s; }
.g_dim.on { display:block; opacity:1; }

.g_sidemenu {position:fixed;top:0;left: 0;width:300px;max-width:84%;height:100vh;background:#fff;box-shadow:-8px 0 24px rgba(20,16,55,0.18);z-index:201;transform: translateX(-100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;}
.g_sidemenu.on { transform:translateX(0); }

/* profile */
.g_sidemenu .profile {padding:28px 22px 22px;background: var(--color-main);color:#fff;}
.g_sidemenu .profile .welcome { padding:4px 2px 2px; }
.g_sidemenu .profile .welcome .msg { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:17px; line-height:1.4; font-weight:500; letter-spacing:-0.3px; word-break:keep-all; }
.g_sidemenu .profile .welcome .grade_badge { filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2)); }
.g_sidemenu .profile .welcome .msg strong { font-weight:800; }
.g_sidemenu .profile .point { margin-top:18px; padding:12px 14px; background:rgba(255,255,255,0.14); border-radius:10px; display:flex; align-items:center; justify-content:space-between; }
.g_sidemenu .profile .point .pt_label { font-size:12px; font-weight:600; opacity:0.85; letter-spacing:1px; }
.g_sidemenu .profile .point .pt_value { font-size:16px; font-weight:800; }

.g_sidemenu .profile .guest { text-align:center; padding:6px 0 4px; }
.g_sidemenu .profile .guest .msg { font-size:13px; opacity:0.85; margin-bottom:12px; }
.g_sidemenu .profile .guest .btn_login {display:block;padding:12px;background:#fff;color: var(--color-main);border-radius:10px;font-size:14px;font-weight:700;margin-bottom:8px;}
.g_sidemenu .profile .guest .btn_register { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.5); margin-bottom:0; }

/* menu list */
.g_sidemenu .menu { flex:1; overflow-y:auto; padding:10px 0; }
.g_sidemenu .menu ul li a { display:flex; align-items:center; gap:14px; padding:13px 22px; font-size:14.5px; color:#333; font-weight:500; transition:background 0.15s, color 0.15s; }
.g_sidemenu .menu ul li a:hover {background: #f3f6ff;color: var(--color-main);}
.g_sidemenu .menu .ic { width:20px; height:20px; background-repeat:no-repeat; background-position:center; background-size:contain; opacity:0.7; flex-shrink:0; }

.g_sidemenu .ic_box     { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 16V8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/><polyline points='3.3 7 12 12 20.7 7'/><line x1='12' y1='22' x2='12' y2='12'/></svg>"); }
.g_sidemenu .ic_storage { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='6' rx='1'/><path d='M4 10v9a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-9'/><line x1='10' y1='14' x2='14' y2='14'/></svg>"); }
.g_sidemenu .ic_gift    { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 12 20 22 4 22 4 12'/><rect x='2' y='7' width='20' height='5'/><line x1='12' y1='22' x2='12' y2='7'/><path d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/><path d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/></svg>"); }
.g_sidemenu .ic_truck   { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='1' y='6' width='14' height='11'/><polygon points='15 9 19 9 22 12 22 17 15 17 15 9'/><circle cx='6' cy='19' r='2'/><circle cx='18' cy='19' r='2'/></svg>"); }
.g_sidemenu .ic_note    { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='8' y1='13' x2='16' y2='13'/><line x1='8' y1='17' x2='13' y2='17'/></svg>"); }
.g_sidemenu .ic_info    { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>"); }
.g_sidemenu .ic_help    { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>"); }
.g_sidemenu .ic_home    { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 9.5 12 3l9 6.5V21a1 1 0 0 1-1 1h-5v-7h-6v7H4a1 1 0 0 1-1-1z'/></svg>"); }
.g_sidemenu .ic_user    { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>"); }
.g_sidemenu .ic_lock    { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B53CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>"); }

.g_sidemenu .btn_logout { display:flex; align-items:center; justify-content:center; gap:8px; margin:14px 22px 22px; padding:14px; background:#1e1a4a; color:#fff; border-radius:12px; font-size:13px; font-weight:700; letter-spacing:2px; }
.g_sidemenu .btn_logout:hover { background:#2a2570; }

/* ───────── footer ───────── */
.g_footer {max-width: calc(100% - (var(--inPd) * 2));width: 100%;margin: 0 auto;padding: 40px;box-sizing: border-box;border-radius: 30px 30px 0 0;background: #3D3F47;color:#bbb;}
.g_footer .logo_bottom { margin-bottom:18px; }
.g_footer .logo_bottom img { max-height:34px; opacity:0.85; }

.g_footer .biz_info h3 {font-size: 16px;font-weight:700;color:#fff;margin-bottom: 10px;}
.g_footer .biz_info .info_cont {color: #BABABA;font-size: 13px;font-weight: 600;line-height: 1.8;}

.g_footer .footer_links {display:flex;flex-wrap:wrap;gap:14px;margin-top: 30px;}
.g_footer .footer_links li { position:relative; }
.g_footer .footer_links li + li::before { content:''; position:absolute; left:-7px; top:50%; transform:translateY(-50%); width:1px; height:11px; background:#444; }
.g_footer .footer_links a {color: #fff;font-size: 13px;font-weight: 600;}
.g_footer .footer_links a:hover { color:#fff; }
.g_footer .footer_links strong { color:#fff; font-weight:700; }

.g_footer .copyright {margin-top: 20px;color: #BABABA;font-size: 12px;}

@media (max-width: 480px){
    .g_footer {max-width: calc(100% - 20px);padding: 40px 20px;}
}


/* ───────── swiper (공용 가로 슬라이드) ───────── */
.swiper { width:100%; overflow:hidden; }
.swiper .track {display:flex;gap:12px;padding: 0 var(--inPd);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;user-select:none;}
.swiper .track img { pointer-events:none; -webkit-user-drag:none; }
.swiper .track::-webkit-scrollbar { display:none; }
.swiper .item { flex:0 0 calc((100% - 36px - 24px) / 2.5); scroll-snap-align:start; }

/* ═══════════════════════════════════════════════
 *  빈 상태 공용 (board / news / policy / mypage)
 *  - 모서리 둥근 카드 + 회색 점선 + 보라 아이콘
 * ═══════════════════════════════════════════════ */
.board_empty, .policy_page .empty, .news_page .empty {
    margin: 24px 0;
    padding:48px 24px;
    text-align:center;
    background: linear-gradient(180deg, #fbfaff 0%, #eaeef9 100%);
    border:1px dashed #d6d0f5;
    border-radius:18px;
}
.board_empty .ic, .policy_page .empty .ic, .news_page .empty .ic {
    width:64px;
    height:64px;
    margin:0 auto 16px;
    border-radius:50%;
    background:#fff;
    box-shadow: 0px 4px 10px 0px rgba(0,30,124,0.2);
    display:flex;
    align-items:center;
    justify-content:center;
    color: var(--color-main);
}
.board_empty .ic svg, .policy_page .empty .ic svg, .news_page .empty .ic svg {
    width:30px; height:30px; stroke-width:1.8;
}
.board_empty p, .policy_page .empty p, .news_page .empty p {
    font-size: 15px;
    color:#7e7ba0;
    font-weight:600;
    line-height:1.5;
}
.board_empty .sub, .policy_page .empty .sub, .news_page .empty .sub {
    margin-top:6px;
    font-size:12px;
    color:#aaa;
    font-weight:400;
}

/* ───────── 페이지네이션 공용 ───────── */
.g_paging { padding:28px 18px 8px; }
.g_paging ul { display:flex; align-items:center; justify-content:center; gap:4px; flex-wrap:wrap; }
.g_paging li a, .g_paging li span {display:inline-flex;align-items:center;justify-content:center;min-width: 30px;height: 30px;padding:0 6px;font-size: 12px;font-weight:600;color:#555;background:#fff;border:1px solid #e6e3f5;border-radius:8px;}
.g_paging li a:hover {background: #f7faff;color: var(--color-main);border-color: #9eabd5;}
.g_paging li.num.on span {background: var(--color-main);color:#fff;border-color:transparent;box-shadow:0 4px 10px rgba(72,52,212,0.25);}
.g_paging li.disabled span { color:#ccc; background:#fafafa; cursor:default; }
.g_paging li.first a, .g_paging li.last a, .g_paging li.prev a, .g_paging li.next a,
.g_paging li.first span, .g_paging li.last span, .g_paging li.prev span, .g_paging li.next span { font-size:15px; font-weight:700; }

/* ───────── 하단 고정 탭바 ───────── */
.g_tabbar {position:fixed;bottom:0;left:50%;transform:translateX(-50%);width: calc(100% - 40px);max-width: 600px;height: 100px;display:flex;align-items:center;justify-content: space-between;z-index:90;}
.g_tabbar::before {content: '';display: block;width: 100%;height: 50%;background: #fff;position: absolute;left: 0;right: 0;bottom: 0;margin: auto;z-index: -1;}
.g_tabbar-cont {display: flex;align-items: center;gap: 7px;width: calc(50% - 40px);height: 100%;box-sizing: border-box;background: #fff;}
.g_tabbar .tab {flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;transition:color 0.15s;}
.g_tabbar .tab .ic {width: 30px;aspect-ratio: 30 / 28;background-repeat:no-repeat;background-position:center;background-size:contain;}
.g_tabbar .tab .lbl {margin-top: 4px;color: #848282;font-size: 17px;}
.g_tabbar .tab:hover .lbl { color: var(--color-main);font-weight: 600; }

.g_tabbar-left {padding-left: 4px;padding-right: 20px;border-top-right-radius: 60px;}
.g_tabbar-right {padding-right: 4px;padding-left: 20px;border-top-left-radius: 60px;}

.g_tabbar .ic_home { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.125 24.8889H10.8125V15.5556H20.1875V24.8889H24.875V10.8889L15.5 3.88889L6.125 10.8889V24.8889ZM3 28V9.33333L15.5 0L28 9.33333V28H17.0625V18.6667H13.9375V28H3Z' fill='%23848282'/%3E%3C/svg%3E%0A"); }
.g_tabbar .ic_news { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.77778 26C5.01389 26 4.36019 25.7282 3.81667 25.1847C3.27315 24.6412 3.00093 23.987 3 23.2222V3.77778C3 3.01389 3.27222 2.36019 3.81667 1.81667C4.36111 1.27315 5.01481 1.00093 5.77778 1H21.0556L28 7.94444V23.2222C28 23.9861 27.7282 24.6403 27.1847 25.1847C26.6412 25.7292 25.987 26.0009 25.2222 26H5.77778ZM5.77778 23.2222H25.2222V9.33333H19.6667V3.77778H5.77778V23.2222ZM8.55556 20.4444H22.4444V17.6667H8.55556V20.4444ZM8.55556 9.33333H15.5V6.55555H8.55556V9.33333ZM8.55556 14.8889H22.4444V12.1111H8.55556V14.8889Z' fill='%23848282'/%3E%3C/svg%3E%0A"); }
.g_tabbar .ic_cart { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0V7.36364H1.25V27H28.75V7.36364H30V0H0ZM2.5 2.45455H27.5V4.90909H2.5V2.45455ZM3.75 7.36364H26.25V24.5455H3.75V7.36364ZM11.0162 9.81818C10.8521 9.83325 10.6926 9.87992 10.5468 9.95552C10.401 10.0311 10.2718 10.1342 10.1666 10.2588C10.0614 10.3834 9.98219 10.5271 9.93355 10.6818C9.88491 10.8365 9.86778 10.999 9.88312 11.1602C9.89847 11.3214 9.946 11.478 10.023 11.6211C10.1 11.7643 10.205 11.8911 10.3319 11.9944C10.5882 12.203 10.9185 12.3032 11.25 12.2727H18.75C19.0815 12.2727 19.3995 12.1434 19.6339 11.9133C19.8683 11.6831 20 11.3709 20 11.0455C20 10.72 19.8683 10.4078 19.6339 10.1776C19.3995 9.94748 19.0815 9.81818 18.75 9.81818H11.25C11.2109 9.81637 11.1716 9.81637 11.1325 9.81818C11.0934 9.81637 11.0554 9.81637 11.0162 9.81818Z' fill='%23848282'/%3E%3C/svg%3E%0A"); }
.g_tabbar .ic_user { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3603 11.3522C16.7705 11.5965 16.1384 11.7222 15.5 11.7222C14.2108 11.7222 12.9743 11.2101 12.0627 10.2984C11.151 9.3868 10.6389 8.15036 10.6389 6.86111C10.6389 5.57186 11.151 4.33542 12.0627 3.42379C12.9743 2.51215 14.2108 2 15.5 2C16.1384 2 16.7705 2.12574 17.3603 2.37003C17.95 2.61432 18.4859 2.97239 18.9373 3.42379C19.3887 3.87518 19.7468 4.41107 19.9911 5.00084C20.2354 5.59062 20.3611 6.22274 20.3611 6.86111C20.3611 7.49948 20.2354 8.1316 19.9911 8.72138C19.7468 9.31115 19.3887 9.84704 18.9373 10.2984C18.4859 10.7498 17.95 11.1079 17.3603 11.3522Z' stroke='%23848282' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3 26V25.1667C3 22.0556 3 20.5 3.60556 19.3111C4.13818 18.2658 4.98803 17.416 6.03333 16.8833C7.22222 16.2778 8.77778 16.2778 11.8889 16.2778H19.1111C22.2222 16.2778 23.7778 16.2778 24.9667 16.8833C26.012 17.416 26.8618 18.2658 27.3944 19.3111C28 20.5 28 22.0556 28 25.1667V26H3Z' stroke='%23848282' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); }
.g_tabbar .ic_box  { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 16V8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/><polyline points='3.3 7 12 12 20.7 7'/><line x1='12' y1='22' x2='12' y2='12'/></svg>"); }

.g_tabbar .tab:hover .ic_home { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.125 24.8889H10.8125V15.5556H20.1875V24.8889H24.875V10.8889L15.5 3.88889L6.125 10.8889V24.8889ZM3 28V9.33333L15.5 0L28 9.33333V28H17.0625V18.6667H13.9375V28H3Z' fill='%230037BF'/%3E%3C/svg%3E%0A"); }
.g_tabbar .tab:hover .ic_news { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.77778 26C5.01389 26 4.36019 25.7282 3.81667 25.1847C3.27315 24.6412 3.00093 23.987 3 23.2222V3.77778C3 3.01389 3.27222 2.36019 3.81667 1.81667C4.36111 1.27315 5.01481 1.00093 5.77778 1H21.0556L28 7.94444V23.2222C28 23.9861 27.7282 24.6403 27.1847 25.1847C26.6412 25.7292 25.987 26.0009 25.2222 26H5.77778ZM5.77778 23.2222H25.2222V9.33333H19.6667V3.77778H5.77778V23.2222ZM8.55556 20.4444H22.4444V17.6667H8.55556V20.4444ZM8.55556 9.33333H15.5V6.55555H8.55556V9.33333ZM8.55556 14.8889H22.4444V12.1111H8.55556V14.8889Z' fill='%230037BF'/%3E%3C/svg%3E%0A"); }
.g_tabbar .tab:hover .ic_cart { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0V7.36364H1.25V27H28.75V7.36364H30V0H0ZM2.5 2.45455H27.5V4.90909H2.5V2.45455ZM3.75 7.36364H26.25V24.5455H3.75V7.36364ZM11.0162 9.81818C10.8521 9.83325 10.6926 9.87992 10.5468 9.95552C10.401 10.0311 10.2718 10.1342 10.1666 10.2588C10.0614 10.3834 9.98219 10.5271 9.93355 10.6818C9.88491 10.8365 9.86778 10.999 9.88312 11.1602C9.89847 11.3214 9.946 11.478 10.023 11.6211C10.1 11.7643 10.205 11.8911 10.3319 11.9944C10.5882 12.203 10.9185 12.3032 11.25 12.2727H18.75C19.0815 12.2727 19.3995 12.1434 19.6339 11.9133C19.8683 11.6831 20 11.3709 20 11.0455C20 10.72 19.8683 10.4078 19.6339 10.1776C19.3995 9.94748 19.0815 9.81818 18.75 9.81818H11.25C11.2109 9.81637 11.1716 9.81637 11.1325 9.81818C11.0934 9.81637 11.0554 9.81637 11.0162 9.81818Z' fill='%230037BF'/%3E%3C/svg%3E%0A"); }
.g_tabbar .tab:hover .ic_user { background-image: url("data:image/svg+xml,%3Csvg width='30' height='28' viewBox='0 0 30 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3603 11.3522C16.7705 11.5965 16.1384 11.7222 15.5 11.7222C14.2108 11.7222 12.9743 11.2101 12.0627 10.2984C11.151 9.3868 10.6389 8.15036 10.6389 6.86111C10.6389 5.57186 11.151 4.33542 12.0627 3.42379C12.9743 2.51215 14.2108 2 15.5 2C16.1384 2 16.7705 2.12574 17.3603 2.37003C17.95 2.61432 18.4859 2.97239 18.9373 3.42379C19.3887 3.87518 19.7468 4.41107 19.9911 5.00084C20.2354 5.59062 20.3611 6.22274 20.3611 6.86111C20.3611 7.49948 20.2354 8.1316 19.9911 8.72138C19.7468 9.31115 19.3887 9.84704 18.9373 10.2984C18.4859 10.7498 17.95 11.1079 17.3603 11.3522Z' stroke='%230037BF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3 26V25.1667C3 22.0556 3 20.5 3.60556 19.3111C4.13818 18.2658 4.98803 17.416 6.03333 16.8833C7.22222 16.2778 8.77778 16.2778 11.8889 16.2778H19.1111C22.2222 16.2778 23.7778 16.2778 24.9667 16.8833C26.012 17.416 26.8618 18.2658 27.3944 19.3111C28 20.5 28 22.0556 28 25.1667V26H3Z' stroke='%230037BF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); }
.g_tabbar .tab:hover .ic_box  { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 16V8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/><polyline points='3.3 7 12 12 20.7 7'/><line x1='12' y1='22' x2='12' y2='12'/></svg>"); }



/* center 박스 구매 버튼 */
.g_tabbar .tab_center {background:transparent;border:0;cursor:pointer;padding:0;position: absolute;left: 50%;bottom: 18px;transform: translateX(-50%);}
.g_tabbar .tab_center .center_btn {/* position:absolute; *//* left: 0; *//* bottom: 0; *//* left:50%; *//* transform:translateX(-50%); */width: 120px;aspect-ratio: 1 / 1;border-radius:50%;background: #002CBA;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#fff;box-shadow: 0px 4px 24px 0px rgba(0,30,124,0.41);-webkit-box-shadow: 0px 4px 24px 0px rgba(0,30,124,0.41);-moz-box-shadow: 0px 4px 24px 0px rgba(0,30,124,0.41);}

.g_tabbar .tab_center .center_btn .logo { width:42px; }
.g_tabbar .tab_center .center_btn .lbl {margin-top: 5px;color: #fff;font-size: 16px;font-weight: 700;line-height:1.1;text-align:center;}

/* footer 공간 확보 (탭바 가려지지 않게) */
.g_footer {padding-bottom: 130px !important;}

@media (max-width: 480px){
    .g_tabbar {width: calc(100% - 20px);height: 85px;}
    .g_tabbar .tab .ic {width: 24px;}
    .g_tabbar .tab .lbl {font-size: 12px;}

    .g_tabbar-left {padding-right: 10px;border-top-right-radius: 45px;}
    .g_tabbar-right {padding-left: 10px;border-top-left-radius: 45px;}

    .g_tabbar .tab_center {bottom: 14px;}
    .g_tabbar .tab_center .center_btn {width: 100px;}
}

/* ═════════════════════════════════════════════
 *  박스구매 모달 (bottom sheet)
 * ═════════════════════════════════════════════ */
.modal_dim { position:fixed; inset:0; background:rgba(20,16,55,0.55); backdrop-filter:blur(2px); z-index:300; opacity:0; visibility:hidden; transition:opacity 0.25s, visibility 0.25s; }
.modal_dim.on { opacity:1; visibility:visible; }

.modal_sheet { position:fixed; left:50%; bottom:0; transform:translate(-50%, 100%); width:100%; max-width:640px; height:92vh; background:#fff; border-radius:24px 24px 0 0; box-shadow:0 -8px 30px rgba(20,16,55,0.25); z-index:301; transition:transform 0.32s cubic-bezier(0.4,0,0.2,1); display:flex; flex-direction:column; }
.modal_sheet.on { transform:translate(-50%, 0); }

.sheet_head { flex-shrink:0; position:relative; padding:18px 56px 14px; text-align:center; border-bottom:1px solid #f0eeff; }
.sheet_head::before { content:''; position:absolute; top:8px; left:50%; transform:translateX(-50%); width:40px; height:4px; background:#dcd6f5; border-radius:2px; }
.sheet_head h2 { font-size:17px; font-weight:800; color:#1e1a4a; margin-top:4px; }
.sheet_head .btn_close { position:absolute; top:14px; right:12px; width:36px; height:36px; border-radius:50%; background:#f4f2ff; color:#4834d4; font-size:16px; font-weight:700; }

.sheet_body { flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:0 0 30px; }

/* hero */
.sheet_body .hero {padding:28px 20px;background: linear-gradient(135deg,#456DEA 0%,#2B53CF 100%);color:#fff;text-align:center;}
.sheet_body .hero h3 { font-size:22px; font-weight:900; letter-spacing:1px; margin-bottom:6px; }
.sheet_body .hero p {font-size: 14px;opacity:0.9;}

/* section common */
.bx_section { padding:22px 18px; border-bottom:8px solid #f5f3ff; }
.bx_section:last-of-type { border-bottom:0; }
.bx_section .title {font-size: 16px;font-weight:800;color: #222;margin-bottom:14px;padding-left:8px;border-left: 3px solid var(--color-main);}

/* box choices */
.box_choices { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.box_choices .choice { padding:16px 8px 12px; background:#fff; border:2px solid #eee; border-radius:14px; text-align:center; cursor:pointer; transition:all 0.18s; }
.box_choices .choice:hover { border-color:#cfc9f5; }
.box_choices .choice.on { border-color:#4834d4; background:#f8f7ff; box-shadow:0 6px 14px rgba(72,52,212,0.18); }
.box_choices .cube { width:96px; height:96px; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; border-radius:12px; color:#fff; font-weight:900; font-size:14px; line-height:1.2; box-shadow:0 8px 20px rgba(0,0,0,0.15); transform:perspective(400px) rotateY(-8deg) rotateX(8deg); }
.box_choices .cube_orange { background:linear-gradient(135deg,#ff9d4d,#ff7a18); }
.box_choices .cube_gold   { background:linear-gradient(135deg,#ffd770,#d4a017); }
.box_choices .cube_purple { background:linear-gradient(135deg,#a78bff,#6c5ce7); }
.box_choices .cube_black  { background:linear-gradient(135deg,#3a3a4a,#0d0d1a); }
.box_choices .cube .amt { display:block; }
.box_choices .lbl { font-size:13.5px; font-weight:700; color:#ff7a18; }
.box_choices .choice:nth-child(2) .lbl { color:#c89200; }
.box_choices .choice:nth-child(3) .lbl { color:#6c5ce7; }
.box_choices .choice:nth-child(4) .lbl { color:#1e1a4a; }

/* qty */
.qty_box { display:flex; align-items:center; justify-content:center; gap:12px; padding:8px 0; }
.qty_box .qty_btn {width:42px;height:42px;border: 1.5px solid #e9eefd;border-radius:50%;background:#fff;color: var(--color-main);font-size:20px;font-weight:700;}
.qty_box .qty_btn:hover {background: #e9eefd;}
.qty_box .qty_input { width:130px; height:42px; padding:0 14px; border:1.5px solid #e0dcf2; border-radius:30px; text-align:center; font-size:15px; font-weight:700; color:#222; }

.qty_quick { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.qty_quick button {height: 42px;background: #f2f5ff;border-radius:24px;font-size: 14px;font-weight:700;color: var(--color-main);}
.qty_quick button:hover {background: #e2e9ff;}

/* coupon */
.coupon_row { display:flex; align-items:center; gap:10px; }
.coupon_row .desc { flex:1; font-size:13px; color:#666; }
.bx_section .btn_outline {padding:9px 16px;background:#fff;border: 1.5px solid var(--color-main);color: var(--color-main);border-radius:24px;font-size: 14px;font-weight:700;white-space:nowrap;}
.bx_section .btn_outline:hover {background: var(--color-main);color: #fff;}

/* point */
.point_row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; padding:12px 14px; background:#f8f7ff; border-radius:10px; }
.point_row .my_point .lbl {font-size: 14px;color:#888;margin-right:8px;}
.point_row .my_point .val {font-size: 16px;font-weight:800;color: var(--color-main);}

/* 결제예정금액 */
.amt_list li {display:flex;align-items:center;justify-content:space-between;padding:11px 0;font-size: 16px;color:#555;}
.amt_list li em { font-style:normal; font-weight:600; color:#222; }
.amt_list li.total { margin-top:6px; padding-top:14px; border-top:1.5px solid #e6e1ff; font-size:15px; font-weight:800; color:#1e1a4a; }
.amt_list li.total em { color:#ff3d7f; font-size:18px; font-weight:900; }

/* 안내 아코디언 */
.accordion li { margin-bottom:8px; background:#fff; border:1px solid #ece9ff; border-radius:10px; overflow:hidden; }
.accordion .acc_q { display:flex; align-items:center; justify-content:space-between; width:100%; padding:13px 14px; text-align:left; font-size:13.5px; font-weight:700; color:#ff7a18; }
.accordion .acc_q .arr { color:#aaa; font-weight:300; font-size:18px; transition:transform 0.2s; }
.accordion li.open .acc_q .arr { transform:rotate(45deg); color:#4834d4; }
.accordion .acc_a { display:none; padding:0 14px 14px; font-size:12.5px; color:#666; line-height:1.6; }
.accordion .guide_html p { margin:0 0 6px; font-size:12.5px; color:#666; line-height:1.65; }
.accordion .guide_html p:last-child { margin-bottom:0; }
.accordion .guide_html ul, .accordion .guide_html ol { padding-left:18px; margin:4px 0 6px; }
.accordion .guide_html li { font-size:12.5px; color:#666; line-height:1.65; margin-bottom:3px; list-style:disc; }
.accordion .guide_html ol li { list-style:decimal; }
.accordion .guide_html strong { color:#1e1a4a; font-weight:700; }
.accordion .guide_html a { color:#4834d4; text-decoration:underline; }
.accordion .guide_html h3, .accordion .guide_html h4 { font-size:13px; font-weight:700; color:#1e1a4a; margin:8px 0 4px; }
.accordion .guide_html img { max-width:100%; height:auto; border-radius:6px; margin:6px 0; }
.accordion .guide_html br { line-height:1.6; }
.accordion li.open .acc_a { display:block; }

/* 연락처 */
.warn_text { padding:12px; background:#fff5f5; border-left:3px solid #ff3d7f; border-radius:6px; font-size:12.5px; color:#c0345c; line-height:1.6; margin-bottom:12px; }
.warn_text2 {margin-top:14px;font-size: 13px;color:#888;line-height:1.6;padding:10px;background:#f8f7ff;border-radius:8px;}
.phone_row { display:flex; align-items:center; gap:6px; max-width:100%; }
.phone_row input { flex:1 1 0; min-width:0; width:0; height:44px; padding:0 8px; border:1.5px solid #e0dcf2; border-radius:24px; text-align:center; font-size:14px; font-weight:600; color:#222; }
.phone_row input:focus {border-color: var(--color-main);outline:none;}
.phone_row span { flex-shrink:0; color:#bbb; font-size:14px; }

/* ───── 박스구매 모달 반응형 안정화 ───── */
.modal_sheet, .modal_sheet * { box-sizing:border-box; }
.sheet_body { overflow-x:hidden; }
.bx_section { max-width:100%; overflow-wrap:break-word; word-break:keep-all; }
.bx_section input, .bx_section select, .bx_section textarea { max-width:100%; }

/* qty_box 작은 화면에서 줄바꿈 가능 */
.qty_box { display:flex; align-items:center; justify-content:center; gap:10px; padding:8px 0; flex-wrap:wrap; }
.qty_box .qty_input { width:120px; max-width:50%; }

/* 결제예정금액 줄바꿈 안전 */
.amt_list li { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.amt_list li em { white-space:nowrap; }

/* coupon_row 반응형 */
.coupon_row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.coupon_row .desc {flex:1 1 200px;min-width:0;font-size: 14px;color:#666;}
.coupon_row .btn_outline { flex-shrink:0; }

/* ───── 선택된 쿠폰 칩 ───── */
.selected_coupon { display:flex; align-items:center; gap:8px; margin-top:10px; padding:10px 12px; background:linear-gradient(135deg,#fff5f5,#ffe5e5); border:1px solid #ffcaca; border-radius:10px; }
.selected_coupon .cp_name { flex:1; min-width:0; font-size:13px; font-weight:700; color:#1e1a4a; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.selected_coupon .cp_amt { font-size:13px; font-weight:800; color:#c0345c; white-space:nowrap; flex-shrink:0; }
.selected_coupon .cp_clear { width:26px; height:26px; border-radius:50%; background:#fff; color:#c0345c; font-size:14px; font-weight:700; flex-shrink:0; cursor:pointer; }

/* ───── 쿠폰 선택 패널 ───── */
.coupon_panel { margin-top:12px; padding:12px; background:#f8f7ff; border-radius:12px; }
.coupon_panel .cp_help { font-size:12px; color:#777; margin-bottom:10px; }
.coupon_picker { display:flex; flex-direction:column; gap:8px; max-height:280px; overflow-y:auto; }
.coupon_picker .cp_empty { padding:24px 12px; text-align:center; color:#aaa; font-size:13px; background:#fff; border:1px dashed #d6d0f5; border-radius:8px; }
.coupon_picker .cp_opt { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#fff; border:1.5px solid #ece9ff; border-radius:10px; cursor:pointer; transition:all 0.15s; }
.coupon_picker .cp_opt:hover { border-color:#7c5cff; background:#fbfaff; }
.coupon_picker .cp_opt .cp_disc { flex-shrink:0; padding:8px 10px; background:linear-gradient(135deg,#7c5cff,#4834d4); color:#fff; border-radius:8px; font-size:13px; font-weight:800; text-align:center; min-width:78px; line-height:1.2; }
.coupon_picker .cp_opt .cp_info { flex:1; min-width:0; }
.coupon_picker .cp_opt .cp_n { font-size:13px; font-weight:700; color:#1e1a4a; margin-bottom:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.coupon_picker .cp_opt .cp_sub { font-size:11.5px; color:#888; }
.coupon_picker .cp_opt.disabled { opacity:0.55; cursor:not-allowed; }
.coupon_picker .cp_opt.disabled .cp_disc { background:linear-gradient(135deg,#a8a3c2,#7a7596); }
.coupon_picker .cp_opt.disabled:hover { border-color:#ece9ff; background:#fff; }

/* 약관 */
.agree_check { display:flex; align-items:center; gap:10px; padding:14px; background:#f8f7ff; border-radius:10px; cursor:pointer; }
.agree_check input[type=checkbox] {width:20px;height:20px;accent-color: var(--color-main);flex-shrink:0;}
.agree_check span {font-size: 14px;color:#444;font-weight:500;}

/* sheet footer */
.sheet_foot { flex-shrink:0; padding:14px 18px calc(14px + env(safe-area-inset-bottom)); border-top:1px solid #f0eeff; background:#fff; }
.sheet_foot .btn_pay {width:100%;height:54px;background: linear-gradient(135deg,#456DEA 0%,#2B53CF 100%);color:#fff;border-radius:14px;font-size:16px;font-weight:800;letter-spacing:0.5px;box-shadow:0 8px 18px rgba(72,52,212,0.32);}
.sheet_foot .btn_pay:hover { transform:translateY(-1px); }
.sheet_foot .btn_pay:disabled { background:#c9c5e3; box-shadow:none; cursor:not-allowed; transform:none; }

/* tab_center 가 이제 button 이므로 reset */
/* .g_tabbar .tab_center {background:transparent;border:0;cursor:pointer;padding:0;position: absolute;left: 50%;bottom: 18px;transform: translateX(-50%);} */

/* ───────── responsive ───────── */
@media (min-width: 641px) {
    /* 데스크탑 환경에서도 640 컨테이너 유지 — 필요 시 확장 */
}

/* ───────── 마이페이지 3분탭 (보관함/배송) ───────── */
.g_mypage_tabs {
    display:flex; gap:0;
    position:sticky; top:108px; z-index:98;
    background:#fff; border-bottom:1px solid #eef0f5;
    padding:0;
}
.g_mypage_tabs .tab {
    flex:1;
    text-align:center;
    padding:13px 0;
    font-size: 14px;
    font-weight:700;
    color:#888;
    border-bottom:3px solid transparent;
    transition:all 0.15s;
}
.g_mypage_tabs .tab:hover {color: var(--color-main);}
.g_mypage_tabs .tab.on {
    color: var(--color-main);
    border-bottom-color: var(--color-main);
    font-weight:800;
}

/* ───────── 페이지 컨텐츠 하단 safe-area (탭바 가려짐 방지) ─────────
   .g_subheader 가 있는 페이지의 첫 section 에 자동 적용 */
.g_subheader ~ section,
section.board_page,
section.order_history_page,
section.mypage,
section.mypage_box,
section.mypage_item,
section.mypage_delivery {
    padding-bottom: 50px;
}

/* 환불 진행 현황 (order_history 카드 안) */
.order_history_page .card .refund_status_row {
    margin-top:10px; padding:10px 12px;
    background:#fff7ed; border:1px dashed #fdba74; border-radius:8px;
}
.order_history_page .card .refund_status_row .rs_head { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.order_history_page .card .refund_status_row .lbl { font-size:12px; font-weight:700; color:#9a3412; }
.order_history_page .card .refund_status_row .amt { font-size:12.5px; font-weight:800; color:#b91c1c; }
.order_history_page .card .refund_status_row .rs_badges { display:flex; flex-wrap:wrap; gap:4px; }
.order_history_page .card .refund_status_row .b {
    font-size:10.5px; padding:2px 7px;
    border-radius:8px; font-weight:800; letter-spacing:0.3px;
}
.order_history_page .card .refund_status_row .b.ready    { background:#fef3c7; color:#92400e; }
.order_history_page .card .refund_status_row .b.paid     { background:#dbeafe; color:#1e40af; }
.order_history_page .card .refund_status_row .b.complete { background:#dcfce7; color:#166534; }
.order_history_page .card .refund_status_row .b.fail     { background:#fee2e2; color:#991b1b; }

/* ───────── 준비중 안내 모달 (공용) ───────── */
.coming_soon { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; }
.coming_soon[hidden] { display:none; }
.coming_soon .cs_dim { position:absolute; inset:0; background:rgba(15,18,30,.55); backdrop-filter:blur(2px); animation:csFade .18s ease-out; }
.coming_soon .cs_box { position:relative; width:100%; max-width:340px; background:#fff; border-radius:18px; padding:28px 22px 22px; text-align:center; box-shadow:0 12px 40px rgba(0,0,0,.25); animation:csPop .22s cubic-bezier(.2,.9,.3,1.2); }
.coming_soon .cs_close { position:absolute; top:10px; right:10px; width:32px; height:32px; border:0; background:transparent; font-size:18px; color:#888; cursor:pointer; border-radius:50%; }
.coming_soon .cs_close:hover { background:#f3f4f6; color:#222; }
.coming_soon .cs_ico { font-size:46px; line-height:1; margin-bottom:8px; }
.coming_soon .cs_ttl { font-size:18px; font-weight:800; color:#1f2330; margin:6px 0 8px; }
.coming_soon .cs_msg { font-size:13px; color:#6b7280; line-height:1.6; margin:0 0 18px; }
.coming_soon .cs_btn { display:inline-block; min-width:140px; padding:11px 22px; border:0; border-radius:10px; background:linear-gradient(135deg,#8b5cf6,#6366f1); color:#fff; font-weight:700; font-size:14px; cursor:pointer; }
.coming_soon .cs_btn:hover { filter:brightness(1.05); }
@keyframes csFade { from{opacity:0} to{opacity:1} }
@keyframes csPop  { from{opacity:0; transform:translateY(8px) scale(.96)} to{opacity:1; transform:translateY(0) scale(1)} }
