@charset "utf-8";

/* ===================================================
   HUMMING BIRD THEME - default_shop.css
   그누보드5 + 영카트5 전용 테마
   ================================================= */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

/* CSS 변수 */
:root {
    --hb-primary:       #c9556a;
    --hb-primary-dark:  #a8394e;
    --hb-primary-light: #f2d0d7;
    --hb-accent:        #e8a0b0;
    --hb-dark:          #2b2020;
    --hb-gray:          #666;
    --hb-border:        #e8e0e0;
    --hb-light-gray:    #f8f5f5;
    --hb-white:         #fff;
    --hb-font:          'Noto Sans KR', 'Malgun Gothic', dotum, sans-serif;
    --hb-font-display:  'Playfair Display', serif;
    --hb-width:         1200px;
    --hb-transition:    all 0.25s ease;
    --hb-shadow:        0 2px 15px rgba(0,0,0,0.08);
}

/* ── 초기화 ─────────────────────────────────── */
html { overflow-y: scroll; }
body { margin:0; padding:0; font-size:13px; font-family:var(--hb-font); color:#333; background:#fff; }
html, h1, h2, h3, h4, h5, h6, form, fieldset, img { margin:0; padding:0; border:0; }
h1,h2,h3,h4,h5,h6 { font-size:1em; font-family:var(--hb-font); }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block; }
ul { margin:0; padding:0; list-style:none; }
ol,li,dl,dt,dd { margin:0; padding:0; }
legend { position:absolute; margin:0; padding:0; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden; }
label,input,button,select,img { vertical-align:middle; }
input,button { margin:0; padding:0; font-family:var(--hb-font); font-size:1em; }
button { cursor:pointer; }
textarea,select { font-family:var(--hb-font); font-size:1em; }
select { margin:0; }
p { margin:0; padding:0; word-break:break-all; }
hr { display:none; }
pre { overflow-x:scroll; font-size:1.1em; }
a { color:#333; text-decoration:none; transition:var(--hb-transition); }
*,:after,:before { box-sizing:border-box; }
input[type=text], input[type=password], textarea { outline:none; }
input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus {
    box-shadow:0 0 5px rgba(201,85,106,0.3);
    border:1px solid var(--hb-primary) !important;
}
.placeholdersjs { color:#aaa !important; }
.sound_only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── 최소폭 ─────────────────────────────────── */
#hd, #wrapper, #ft { min-width:var(--hb-width); }

/* ── 팝업레이어 ──────────────────────────────── */
#hd_pop { z-index:1000; position:relative; margin:0 auto; width:var(--hb-width); height:0; }
#hd_pop h2 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
.hd_pops { position:absolute; border:1px solid var(--hb-border); background:#fff; box-shadow:var(--hb-shadow); }
.hd_pops img { max-width:100%; }
.hd_pops_footer { padding:0; background:var(--hb-dark); color:#fff; text-align:left; position:relative; }
.hd_pops_footer:after { display:block; visibility:hidden; clear:both; content:""; }
.hd_pops_footer button { padding:10px; border:0; color:#fff; background:transparent; }
.hd_pops_footer .hd_pops_reject { background:var(--hb-dark); text-align:left; }
.hd_pops_footer .hd_pops_close { background:#393939; position:absolute; top:0; right:0; }

/* ── 최상단 이벤트 배너 ──────────────────────── */
#hd_top_banner {
    background: linear-gradient(90deg, var(--hb-primary-dark), var(--hb-primary), var(--hb-primary-dark));
    text-align:center; padding:8px 0; font-size:13px; color:#fff; letter-spacing:1px;
}
#hd_top_banner .hb-sale-num {
    font-family:var(--hb-font-display); font-size:22px; font-weight:700;
    vertical-align:middle; margin:0 3px;
}

/* ── 헤더 ────────────────────────────────────── */
#hd { background:#fff; border-bottom:1px solid var(--hb-border); }
#hd_h1 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#hd_login_msg { display:none; }
#skip_to_container { position:absolute; top:-999px; left:-999px; }

/* ── TNB ─────────────────────────────────────── */
#tnb { background:#faf7f8; border-bottom:1px solid var(--hb-border); }
#tnb:after { display:block; visibility:hidden; clear:both; content:""; }
#tnb .inner { width:var(--hb-width); margin:0 auto; display:flex; justify-content:flex-end; align-items:center; }
#hd_define { display:flex; }
#hd_define li { font-size:11px; border-right:1px solid #ddd; padding:9px 12px; }
#hd_define li:last-child { border-right:0; }
#hd_define li a { color:#888; }
#hd_define li.active a { color:var(--hb-primary); font-weight:700; }
#hd_qnb { display:flex; }
#hd_qnb li { font-size:11px; border-left:1px solid #e0e0e0; padding:9px 12px; }
#hd_qnb li:first-child { border-left:0; }
#hd_qnb li a { color:#888; }
#hd_qnb li a:hover { color:var(--hb-primary); }
#hd_qnb li.bd a { color:var(--hb-primary); font-weight:600; }

/* ── 헤더 메인 래퍼 ──────────────────────────── */
#hd_wrapper { width:var(--hb-width); margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:16px 0; }

/* ── 로고 ────────────────────────────────────── */
#logo a { display:block; line-height:1; }
#logo img { max-height:55px; width:auto; }
.hb-logo-text { font-family:var(--hb-font-display); font-size:26px; font-weight:700; letter-spacing:3px; color:var(--hb-dark); text-transform:uppercase; display:block; }
.hb-logo-sub { font-size:9px; letter-spacing:4px; color:var(--hb-primary); text-transform:uppercase; display:block; text-align:center; margin-top:3px; }

/* ── 검색창 ──────────────────────────────────── */
.hd_sch_wr { flex:0 0 400px; margin:0 20px; }

/* form 방식 */
form#hd_sch {
    display:flex;
    align-items:center;
    width:100%;
    height:42px;
    border:1.5px solid var(--hb-primary);
    border-radius:25px;
    overflow:hidden;
    background:#fff;
}
form#hd_sch #sch_str,
form#hd_sch input[name="q"] {
    flex:1;
    height:100%;
    padding:0 18px;
    border:0;
    outline:none;
    font-size:13px;
    color:#333;
    background:transparent;
    box-shadow:none !important;
}
form#hd_sch #sch_str:focus,
form#hd_sch input[name="q"]:focus {
    border:0 !important;
    box-shadow:none !important;
}
form#hd_sch #sch_submit {
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:100%;
    border:0;
    background:var(--hb-primary);
    color:#fff;
    font-size:15px;
    cursor:pointer;
}
form#hd_sch #sch_submit:hover { background:var(--hb-primary-dark); }

/* fieldset 방식 (혹시 변경될 경우 대비) */
fieldset#hd_sch {
    display:flex;
    align-items:center;
    width:100%;
    height:42px;
    border:1.5px solid var(--hb-primary);
    border-radius:25px;
    overflow:hidden;
    background:#fff;
    padding:0;
}
fieldset#hd_sch #sch_str,
fieldset#hd_sch input[name="q"] {
    flex:1;
    height:100%;
    padding:0 18px;
    border:0;
    outline:none;
    font-size:13px;
    color:#333;
    background:transparent;
    box-shadow:none !important;
}
fieldset#hd_sch #sch_str:focus,
fieldset#hd_sch input[name="q"]:focus {
    border:0 !important;
    box-shadow:none !important;
}
fieldset#hd_sch #sch_submit {
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:100%;
    border:0;
    background:var(--hb-primary);
    color:#fff;
    font-size:15px;
    cursor:pointer;
}
fieldset#hd_sch #sch_submit:hover { background:var(--hb-primary-dark); }

/* ── 헤더 로그인 ─────────────────────────────── */
.hd_login { display:flex; align-items:center; gap:4px; }
.hd_login > li { position:relative; }
.hd_login > li > a { display:flex; align-items:center; gap:4px; color:#555; font-size:11px; padding:5px 8px; }
.hd_login > li > a:hover { color:var(--hb-primary); }
.hd_login > li.login > a { color:var(--hb-primary); padding:7px 14px; border-radius:20px; border:1.5px solid var(--hb-primary); font-size:12px; font-weight:600; }
.hd_login > li.login > a:hover { background:var(--hb-primary); color:#fff; }
.hd_login .fa-shopping-cart { font-size:20px; color:var(--hb-dark); }
.hd_login .count { position:absolute; top:-2px; right:-2px; min-width:16px; height:16px; background:var(--hb-primary); color:#fff; border-radius:8px; font-size:10px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 3px; }

/* ── 아웃로그인 버튼 ──────────────────────────── */
.btn_member_mn {
    display:inline-flex !important; align-items:center !important; gap:6px !important;
    padding:6px 14px !important; border:1.5px solid var(--hb-border) !important;
    border-radius:20px !important; background:#fff !important; color:#555 !important;
    font-size:12px !important; cursor:pointer !important; white-space:nowrap !important;
    transition:var(--hb-transition) !important;
}
.btn_member_mn:hover, .btn_member_mn_on { border-color:var(--hb-primary) !important; color:var(--hb-primary) !important; }
.btn_member_mn .profile_img { display:inline-block; }
.btn_member_mn .profile_img img { width:22px; height:22px; border-radius:50%; vertical-align:middle; }
.btn_member_mn .profile_name { max-width:60px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.4; font-size:12px; }
.btn_member_mn i { font-size:11px; margin-left:2px; }
.member_mn { display:none; position:absolute; top:calc(100% + 5px); right:0; background:#fff; border:1px solid var(--hb-border); border-radius:6px; min-width:155px; z-index:300; box-shadow:0 5px 20px rgba(0,0,0,0.1); overflow:hidden; }
.member_mn a { display:block !important; padding:10px 15px !important; font-size:12px !important; color:#555 !important; border-bottom:1px solid #f8f8f8 !important; }
.member_mn a:hover { background:var(--hb-light-gray) !important; color:var(--hb-primary) !important; }

/* ── GNB 메뉴 ───────────────────────────────── */
#hd_menu { background:var(--hb-dark); }
#hd_menu_inner { width:var(--hb-width); margin:0 auto; display:flex; align-items:center; }
#menu_open { display:none; }
.hd_menu { display:flex; flex:1; justify-content:center; list-style:none; margin:0; padding:0; }
.hd_menu li { position:relative; }
.hd_menu li a { display:block; color:#fff; font-size:13px; font-weight:500; letter-spacing:1.5px; padding:15px 28px; text-transform:uppercase; transition:var(--hb-transition); white-space:nowrap; }
.hd_menu li a:hover { color:var(--hb-accent); }
.hd_menu li::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:0; height:2px; background:var(--hb-primary); transition:var(--hb-transition); }
.hd_menu li:hover::after { width:60%; }
#hd_menu .category_list { display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--hb-border); min-width:160px; z-index:300; box-shadow:var(--hb-shadow); }
#hd_menu .shop_category:hover .category_list { display:block; }
#hd_menu .category_list li::after { display:none; }
#hd_menu .category_list li a { color:#333; font-size:12px; letter-spacing:0.5px; padding:9px 16px; text-transform:none; font-weight:400; }
#hd_menu .category_list li a:hover { color:var(--hb-primary); background:var(--hb-light-gray); }

/* ── 사이드 퀵메뉴 ───────────────────────────── */
#side_menu { position:fixed; top:50%; right:0; transform:translateY(-50%); width:52px; z-index:120; background:transparent; border:0; box-shadow:none; padding:0; }
#quick { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
#quick li { width:52px; }
#quick .btn_sm { width:52px; height:52px; border:0; background:rgba(255,255,255,0.95); color:#999; font-size:17px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; cursor:pointer; transition:var(--hb-transition); border-left:3px solid transparent; box-shadow:-2px 0 10px rgba(0,0,0,0.08); }
#quick .btn_sm:hover, #quick .btn_sm.btn_sm_on { background:var(--hb-primary); color:#fff; border-left-color:var(--hb-primary-dark); }
#quick .qk_tit { font-size:8px; line-height:1; white-space:nowrap; }
#tabs_con { position:fixed; top:50%; right:52px; transform:translateY(-50%); z-index:119; }
.qk_con { display:none; width:260px; max-height:420px; overflow-y:auto; background:#fff; border:1px solid var(--hb-border); border-radius:6px 0 0 6px; box-shadow:-4px 0 20px rgba(0,0,0,0.12); }
.qk_con_wr { padding:18px; position:relative; }
.con_close { float:right; border:0; background:transparent; color:#ccc; font-size:16px; cursor:pointer; line-height:1; }
.con_close:hover { color:var(--hb-primary); }
.side_tnb { margin-top:8px; }
.side_tnb li { border-bottom:1px solid #f5f5f5; }
.side_tnb li a { display:block; padding:9px 5px; font-size:12px; color:#666; transition:var(--hb-transition); }
.side_tnb li a:hover { color:var(--hb-primary); padding-left:10px; }
#top_btn { position:fixed; bottom:25px; right:6px; width:40px; height:40px; border:0; background:var(--hb-dark); color:#fff; border-radius:50%; font-size:14px; cursor:pointer; z-index:200; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 10px rgba(0,0,0,0.2); transition:var(--hb-transition); }
#top_btn:hover { background:var(--hb-primary); }

/* ── 전체 레이아웃 ──────────────────────────── */
#wrapper { background:#fff; flex:1; }
body { display:flex; flex-direction:column; min-height:100vh; }
body > #hd { flex-shrink:0; }
body > #wrapper { flex:1; }
body > #ft { flex-shrink:0; }
#container { width:var(--hb-width); margin:0 auto; padding:0; }
#container.is_index { width:100%; }
#aside { display:none; }
.shop-content { width:var(--hb-width); margin:0 auto; padding:30px 0; min-height:400px; }
.shop-content.is_index { width:100%; padding:0; }
#wrapper_title { font-size:20px; font-weight:700; color:var(--hb-dark); padding:20px 0 10px; border-bottom:2px solid var(--hb-primary); margin-bottom:25px; font-family:var(--hb-font-display); }
#text_size { display:none; }

/* ── 메인 비주얼 배너 ──────────────────────── */
#hb_main_visual {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
    background: linear-gradient(135deg,#f8e8ec,#fce4e4,#f5d5da);
}
#hb_main_visual img { width:100%; max-height:520px; object-fit:cover; display:block; }
#hb_main_visual .main_image_area, #hb_main_visual #main_bn { width:100%; }
.hb-main-banner-placeholder { width:100%; min-height:420px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.hb-main-banner-placeholder::before { content:''; position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(201,85,106,0.15) 0%,transparent 70%); top:-100px; right:-100px; }
.hb-banner-text { text-align:center; z-index:1; }
.hb-banner-text .sub { font-size:13px; letter-spacing:4px; color:var(--hb-primary); text-transform:uppercase; display:block; margin-bottom:12px; }
.hb-banner-text .main-txt { font-family:var(--hb-font-display); font-size:58px; font-weight:700; color:var(--hb-dark); line-height:1.1; }
.hb-banner-text .main-txt em { color:var(--hb-primary); font-style:normal; }
.hb-banner-text .desc { font-size:14px; color:#888; margin-top:15px; letter-spacing:1px; }
.hb-banner-cta { display:inline-block; margin-top:25px; padding:13px 35px; background:var(--hb-primary); color:#fff; font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:600; border-radius:25px; transition:var(--hb-transition); }
.hb-banner-cta:hover { background:var(--hb-primary-dark); color:#fff; transform:translateY(-2px); box-shadow:0 5px 20px rgba(201,85,106,0.4); }
/* 영카트 배너 슬라이더 */
#main_bn { position:relative; width:100%; }
.main_image_area { width:100%; }
.main_banner_owl img { width:100%; max-height:520px; object-fit:cover; display:block; }
.main_owl_pager { text-align:center; padding:10px 0; }
.main_owl_pager .owl-dot { display:inline-block; margin:0 3px; }
.main_owl_pager .owl-dot a { display:block; width:8px; height:8px; border-radius:50%; background:#ddd; text-indent:-9999px; }
.main_owl_pager .owl-dot.active a { background:var(--hb-primary); }
.btn_wr { position:absolute; top:50%; transform:translateY(-50%); width:100%; display:flex; justify-content:space-between; pointer-events:none; z-index:10; }
.btn_wr a { pointer-events:all; display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:rgba(0,0,0,0.3); color:#fff; border-radius:50%; font-size:20px; margin:0 10px; transition:var(--hb-transition); }
.btn_wr a:hover { background:var(--hb-primary); }

/* ── 섹션 헤더 ──────────────────────────────── */
.hb-section { width:100%; }
.hb-section-head { width:var(--hb-width); margin:0 auto; padding:40px 0 18px; display:flex; align-items:flex-end; justify-content:space-between; border-bottom:1px solid #f0e8ea; margin-bottom:20px; }
.hb-section-title { font-family:var(--hb-font-display); font-size:24px; font-weight:600; color:var(--hb-dark); position:relative; padding-bottom:10px; }
.hb-section-title::after { content:''; position:absolute; bottom:0; left:0; width:30px; height:2px; background:var(--hb-primary); }
.hb-section-more { font-size:12px; color:#999; letter-spacing:1px; border-bottom:1px solid #ccc; padding-bottom:1px; transition:var(--hb-transition); }
.hb-section-more:hover { color:var(--hb-primary); border-color:var(--hb-primary); }

/* ── 상품 그리드 ─────────────────────────────── */
.hb-item-list { width:var(--hb-width); margin:0 auto; }
.hb-item-list .sct { display:flex; flex-wrap:wrap; list-style:none; margin:0; padding:0; width:100%; }
.hb-item-list .sct .sct_li,
.hb-item-list .sct_li { width:20% !important; padding:0 8px 30px !important; position:relative; box-sizing:border-box; }
.sct_img { overflow:hidden; border-radius:3px; background:var(--hb-light-gray); position:relative; aspect-ratio:3/4; }
.sct_img a { display:block; height:100%; }
.sct_img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
.sct_li:hover .sct_img img { transform:scale(1.04); }
.shop_icon_soldout { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.4); display:flex; align-items:center; justify-content:center; z-index:2; }
.soldout_txt { color:#fff; font-size:13px; font-weight:700; letter-spacing:2px; border:1px solid rgba(255,255,255,0.7); padding:6px 14px; }
.sct_star { margin-top:5px; }
.sct_star img { height:12px; }
.sct_txt { padding:8px 5px 0; }
.sct_txt a { font-size:12.5px; color:var(--hb-dark); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sct_txt a:hover { color:var(--hb-primary); }
.sct_cost { padding:5px 5px 0; }
.it_price { font-size:14px; font-weight:700; color:var(--hb-primary); display:block; }
.it_cust_price { font-size:11px; color:#bbb; text-decoration:line-through; display:block; }
.it_dc_price { font-size:14px; font-weight:700; color:var(--hb-primary); }
.it_dc { font-size:11px; color:var(--hb-primary); font-weight:700; margin-right:3px; }
.sct_noitem, p.sct_noitem { text-align:center; padding:40px 0 60px; font-size:13px; color:#bbb; width:100%; }
.sctrl { display:none !important; }

/* ── 인기검색어 ─────────────────────────────── */
.pop_search { padding:5px 0; }
.pop_search h3 { font-size:0; overflow:hidden; }
.pop_search a { display:inline-block; font-size:11px; color:#999; margin-right:5px; }
.pop_search a:hover { color:var(--hb-primary); }
.pop_search a::before { content:'#'; color:var(--hb-accent); }

/* ── 하단 푸터 ──────────────────────────────── */
#ft { background:#f2eded; border-top:1px solid var(--hb-border); }
#ft_wr { width:var(--hb-width); margin:0 auto; padding:40px 0 30px; }
#ft_link { border-bottom:1px solid var(--hb-border); padding-bottom:15px; margin-bottom:25px; }
#ft_link li { display:inline-block; }
#ft_link li+li::before { content:'|'; margin:0 10px; color:#ccc; }
#ft_link li a { font-size:11px; color:#888; }
#ft_link li a:hover { color:var(--hb-primary); }
#ft_link li:first-child a { font-weight:700; color:var(--hb-dark); }
.ft-columns { display:flex; gap:30px; width:100%; margin-bottom:25px; }
.ft-col { flex:1; }
.ft-col-title { font-size:13px; font-weight:700; color:var(--hb-dark); letter-spacing:1px; padding-bottom:10px; border-bottom:1px solid var(--hb-border); margin-bottom:12px; }
.ft-col .tel { font-size:22px; font-weight:700; color:var(--hb-primary); letter-spacing:1px; font-family:var(--hb-font-display); display:block; margin-bottom:5px; }
.ft-col .ft-info-line { font-size:11px; color:#888; line-height:1.9; }
.ft-col .ft-info-line strong { color:#555; font-weight:600; }
.ft-col ul li { font-size:11px; color:#888; line-height:2.2; }
.ft-col ul li::before { content:'·'; margin-right:5px; color:var(--hb-primary); }
.ft-col .bank-name { font-size:13px; font-weight:700; color:var(--hb-dark); }
.ft-col .bank-number { font-size:12px; color:var(--hb-primary); font-weight:600; margin-top:3px; display:block; }
.ft-col .bank-holder { font-size:11px; color:#888; }
#ft_company h2 { font-size:0; line-height:0; overflow:hidden; }
.ft_info { font-size:11px; color:#aaa; line-height:2; }
.ft_info b { color:#888; font-weight:600; margin-right:3px; }
.ft_info span { margin-right:15px; }
#ft_copy { text-align:center; padding:15px 0; font-size:11px; color:#bbb; border-top:1px solid var(--hb-border); margin-top:10px; }
#ft_copy b { color:var(--hb-primary); }
.visit_skin { font-size:11px; color:#bbb; padding-top:8px; }

/* ── 페이징 ─────────────────────────────────── */
.pg_wrap { text-align:center; padding:25px 0; }
.pg_wrap a, .pg_wrap strong { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid var(--hb-border); font-size:12px; color:#666; margin:0 2px; border-radius:3px; transition:var(--hb-transition); }
.pg_wrap strong { background:var(--hb-primary); color:#fff; border-color:var(--hb-primary); }
.pg_wrap a:hover { border-color:var(--hb-primary); color:var(--hb-primary); }

/* ── 버튼 공통 ──────────────────────────────── */
.btn_submit { display:inline-block; padding:8px 20px; border:0; border-radius:3px; font-size:12px; cursor:pointer; background:var(--hb-primary); color:#fff; transition:var(--hb-transition); }
.btn_submit:hover { background:var(--hb-primary-dark); }
.btn01 { display:inline-block; padding:8px 20px; border:0; border-radius:3px; font-size:12px; cursor:pointer; background:var(--hb-dark); color:#fff; transition:var(--hb-transition); }
.btn_cancel { display:inline-block; padding:8px 20px; border:0; border-radius:3px; font-size:12px; cursor:pointer; background:#aaa; color:#fff; }

/* ── 체크박스 / 라디오 ──────────────────────── */
.selec_chk { position:absolute; top:0; left:0; width:0; height:0; opacity:0; outline:0; z-index:-1; overflow:hidden; }
.chk_box { position:relative; }
.chk_box input[type="checkbox"] { position:absolute; top:0; left:0; width:0; height:0; opacity:0; outline:0; z-index:-1; overflow:hidden; }
.chk_box input[type="checkbox"]+label { position:relative; padding-left:20px; color:#676e70; }
.chk_box input[type="checkbox"]+label:hover { color:var(--hb-primary); }
.chk_box input[type="checkbox"]+label span { position:absolute; top:2px; left:0; width:15px; height:15px; display:block; background:#fff; border:1px solid #d0d4df; border-radius:3px; }
.chk_box input[type="checkbox"]:checked+label { color:#000; }
.chk_box input[type="checkbox"]:checked+label span { background:var(--hb-primary) url('../img/chk.png') no-repeat 50% 50%; border-color:var(--hb-primary); }
.chk_box input[type="radio"] { position:absolute; top:0; left:0; width:0; height:0; opacity:0; outline:0; z-index:-1; overflow:hidden; }
.chk_box input[type="radio"]+label { position:relative; padding-left:23px; display:inline-block; color:#676e70; }
.chk_box input[type="radio"]+label span { position:absolute; top:0; left:0; width:15px; height:15px; display:block; background:#fff; border:1px solid #cdd6df; border-radius:50%; }
.chk_box input[type="radio"]:checked+label { color:var(--hb-primary); }
.chk_box input[type="radio"]:checked+label span:before { width:7px; height:7px; background:var(--hb-primary); content:''; position:absolute; top:3px; left:3px; border-radius:50%; }

/* ── 게시판 ─────────────────────────────────── */
#bo_list table td, #fqalist table td { border-left:0; border-right:0; }
#bo_v_top .btn_admin, #bo_list .btn_admin { padding-top:0; }

/* ── 개인결제 ────────────────────────────────── */
.pesonal { background:#fff; border:1px solid var(--hb-border); margin-bottom:30px; }
.pesonal h2 { border-bottom:1px solid var(--hb-border); font-size:1.167em; padding:20px; }
.pesonal .tbl_frm01 { padding:20px 10px; margin:0; }
.pesonal th { text-align:left; }
.pesonal td { text-align:left; font-weight:bold; }
.pesonal td input { width:100%; }
#personal_pay { background:#fff; border:1px solid var(--hb-border); }
#personal_pay h2 { border-bottom:1px solid var(--hb-border); font-size:1.167em; padding:20px; }
#personal_pay .KPAY { width:58px; background:url('../../../img/kpay.png') no-repeat 50% 50% #fff; overflow:hidden; text-indent:-999px; }
#personal_pay .PAYNOW { width:75px; background:url('../../../img/paynow.png') no-repeat 50% 50% #fff; overflow:hidden; text-indent:-999px; border-radius:30px; }
#personal_pay .PAYCO { width:75px; background:url('../../../img/payco.png') no-repeat 50% 50% #fff; overflow:hidden; text-indent:-999px; border-radius:30px; }
#personal_pay .kakaopay_icon { width:60px; background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00; overflow:hidden; text-indent:-999px; border-radius:30px; }
#personal_pay .pay_way { border-bottom:1px solid var(--hb-border); }
#personal_pay #display_pay_button { border:0; }

/* ── 네이버페이 ─────────────────────────────── */
.itemform-naverpay { margin:15px 0; clear:both; }
.cart-naverpay { margin-top:15px; }

/* ── overflow scroll 미지원 기기 대응 ──────── */
html.no-overflowscrolling #sc_coupon_frm,
html.no-overflowscrolling #od_coupon_frm { height:auto; max-height:10000px !important; }

/* ── 검색버튼 SVG 아이콘 보장 ──────────────── */
#sch_submit svg { display:block; color:#fff; stroke:#fff; }

/* ── 스크롤 최종 보장 ────────────────────── */
html { overflow-y:scroll !important; }
