@charset "utf-8";
/* ============================================================
   shop_03 (NOIR) 테마 · 공통 스타일 (다크 테마)
   색·글꼴을 바꾸려면 아래 :root 값만 고치면 전체가 함께 바뀝니다.
   ============================================================ */

:root{
  --bg:#0e0f12; --bg2:#141519; --bg3:#1a1c22; --line:#26282e; --line2:#1e2026;
  --ivory:#f5f0e6; --text:#cfd0d4; --dim:#8b8f98; --gold:#c9a227; --gold2:#e0bc4a;
  --sans:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  --serif:'Noto Serif KR','Cormorant Garamond',serif;
  --latin:'Cormorant Garamond','Noto Serif KR',serif;
  --rail:212px;
}

/* ── 기본 ───────────────────────────────────────────── */
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;padding:0;font-family:var(--sans);font-size:15px;line-height:1.75;color:var(--text);background:var(--bg);word-break:keep-all;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:600;line-height:1.35;color:var(--ivory)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;border:0;vertical-align:top}
button{font-family:inherit;font-size:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:15px;color:var(--ivory)}
table{border-collapse:collapse}
hr{display:none}
*,:after,:before{box-sizing:border-box}
::selection{background:var(--gold);color:#0e0f12}
.sound_only,.sound_only_reset{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#skip_to_container a{position:absolute;left:-9999px;top:0;z-index:3000;padding:12px 20px;background:var(--gold);color:#0e0f12}
#skip_to_container a:focus{left:0}
.n-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 40px}

.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* ── 버튼 ───────────────────────────────────────────── */
.n-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 34px;border:1px solid var(--gold);color:var(--gold);font-family:var(--latin);font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:.25s;background:transparent}
.n-btn:hover{background:var(--gold);color:#0e0f12}
.n-btn.fill{background:var(--gold);color:#0e0f12}
.n-btn.fill:hover{background:var(--gold2);border-color:var(--gold2)}
.n-btn.sm{min-height:38px;padding:0 18px;font-size:12.5px;letter-spacing:.1em}
.n-btn.wide{width:100%}
.n-btn.ghost{border-color:var(--line);color:var(--text)}
.n-btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}
.n-more{font-family:var(--latin);font-size:13px;letter-spacing:.2em;color:var(--gold);border-bottom:1px solid rgba(201,162,39,.5);padding-bottom:4px;white-space:nowrap}
.n-more:hover{border-bottom-color:var(--gold)}

/* ── 좌측 세로 레일 ─────────────────────────────────── */
.n-rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:1000;background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:34px 26px 28px;overflow-y:auto}
.n-rail-top{margin-bottom:44px}
.n-logo a{display:flex;flex-direction:column;line-height:1}
.n-logo em{font-family:var(--latin);font-style:normal;font-size:31px;font-weight:700;letter-spacing:.18em;color:var(--ivory)}
.n-logo i{font-style:normal;font-size:9.5px;letter-spacing:.42em;color:var(--gold);margin-top:8px}
.n-logo img{max-height:40px;width:auto}
.n-burger{display:none;position:absolute;right:16px;top:20px;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;align-items:flex-end}
.n-burger span{display:block;height:1px;background:var(--ivory);transition:.25s}
.n-burger span:nth-child(1){width:22px}
.n-burger span:nth-child(2){width:14px}
.n-rail-body{display:flex;flex-direction:column;flex:1 1 auto}
.n-nav li{margin-bottom:2px}
.n-nav a{display:block;padding:8px 0;font-family:var(--latin);font-size:15px;letter-spacing:.14em;color:var(--dim);transition:.2s}
.n-nav a:hover{color:var(--ivory);padding-left:8px}
.n-nav a.on{color:var(--gold)}
.n-rail-util{margin-top:auto;padding-top:34px}
.n-rail-search{display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:22px}
.n-rail-search input{flex:1 1 auto;height:38px;border:0;background:none;outline:0;font-family:var(--latin);font-size:13px;letter-spacing:.16em;color:var(--ivory)}
.n-rail-search input::placeholder{color:var(--dim)}
.n-rail-search button{width:32px;height:38px;color:var(--dim);font-size:13px}
.n-rail-search button:hover{color:var(--gold)}
.n-rail-util>ul li{margin-bottom:7px}
.n-rail-util>ul a{font-family:var(--latin);font-size:12.5px;letter-spacing:.16em;color:var(--dim)}
.n-rail-util>ul a:hover{color:var(--gold)}
.n-cart em{font-style:normal;color:var(--gold)}
.n-rail-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.8;color:var(--dim)}
.n-rail-dim{display:none}

/* ── 본문 골격 ──────────────────────────────────────── */
.n-main{display:block;margin-left:var(--rail);min-height:70vh;padding-bottom:100px}
.n-main.is-index{padding-bottom:0}
.n-pagehead{padding:74px 0 44px;border-bottom:1px solid var(--line);margin-bottom:52px}
.n-crumb{font-family:var(--latin);font-size:12px;letter-spacing:.2em;color:var(--dim)}
.n-crumb i{margin:0 8px;font-style:normal}
.n-crumb span{color:var(--gold)}
.n-pagehead h2{margin-top:14px;font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:-.01em}

/* ── 푸터 ───────────────────────────────────────────── */
.n-ft{margin-left:var(--rail);border-top:1px solid var(--line);background:var(--bg2);padding:60px 0 34px}
.n-ft-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:44px;padding-bottom:46px;border-bottom:1px solid var(--line)}
.n-ft-brand strong{display:block;font-family:var(--latin);font-size:28px;font-weight:700;letter-spacing:.2em;color:var(--ivory)}
.n-ft-brand span{display:block;margin-top:8px;font-size:12.5px;color:var(--dim)}
.n-ft-sns{display:flex;gap:10px;margin-top:20px}
.n-ft-sns a{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:15px;color:var(--dim)}
.n-ft-sns a:hover{border-color:var(--gold);color:var(--gold)}
.n-ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.n-ft h2{font-family:var(--latin);font-size:12px;letter-spacing:.24em;color:var(--gold);margin-bottom:16px}
.n-ft-cols li{margin-bottom:9px}
.n-ft-cols a{font-size:13.5px;color:var(--dim)}
.n-ft-cols a:hover{color:var(--ivory)}
.n-ft-none{font-size:12px;color:#5f636b}
.n-ft-cs .tel{font-family:var(--latin);font-size:24px;font-weight:600;color:var(--ivory);letter-spacing:.04em}
.n-ft-cs .time{margin-top:8px;font-size:12.5px;color:var(--dim);line-height:1.8}
.n-ft-info{padding-top:26px;font-size:12px;color:#6d717a;line-height:1.9}
.n-ft-info i{margin:0 7px;color:var(--line);font-style:normal}
.n-copy{margin-top:8px;font-family:var(--latin);letter-spacing:.14em;color:#5f636b}

.n-top{position:fixed;right:26px;bottom:28px;z-index:800;width:46px;height:46px;border:1px solid var(--line);background:var(--bg2);color:var(--ivory);font-size:20px;opacity:0;visibility:hidden;transition:.25s}
.n-top.on{opacity:1;visibility:visible}
.n-top:hover{border-color:var(--gold);color:var(--gold)}

/* ============================================================
   그누보드 공통 요소
   ============================================================ */
.pg_wrap{display:flex;justify-content:center;gap:6px;margin:52px 0 0;padding:0;clear:both}
.pg{display:flex;gap:6px}
.pg_page,.pg_current,.pg_start,.pg_prev,.pg_next,.pg_end{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 9px;border:1px solid var(--line);background:transparent;font-family:var(--latin);font-size:14px;color:var(--dim);text-indent:0}
.pg_page:hover{border-color:var(--gold);color:var(--gold)}
.pg_current{background:var(--gold);border-color:var(--gold);color:#0e0f12;font-weight:700}
.pg_wrap .sound_only{position:absolute!important}

.frm_input,input[type=text].frm_input,input[type=password].frm_input,select.frm_input{height:50px;padding:0 16px;border:1px solid var(--line);background:var(--bg3);color:var(--ivory);width:100%;outline:0}
.frm_input:focus{border-color:var(--gold)}
.btn_confirm{display:flex;justify-content:center;gap:10px;margin-top:36px;flex-wrap:wrap}
.btn_submit,.reg_btn_submit{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 40px;background:var(--gold);color:#0e0f12;font-family:var(--latin);font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--gold);transition:.2s}
.btn_submit:hover,.reg_btn_submit:hover{background:var(--gold2);border-color:var(--gold2)}
.btn_close,.btn_cancel{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 34px;border:1px solid var(--line);background:transparent;color:var(--dim);font-family:var(--latin);font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.btn_close:hover{border-color:var(--gold);color:var(--gold)}

.n-chk{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}
.n-chk input{position:absolute;opacity:0;width:0;height:0}
.n-chk i{flex:0 0 auto;width:20px;height:20px;border:1px solid #40434b;background:transparent;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.n-chk i:before{content:"";width:10px;height:6px;border-left:1.5px solid #0e0f12;border-bottom:1.5px solid #0e0f12;transform:rotate(-45deg) scale(0);transition:.15s;margin-top:-3px}
.n-chk input:checked+i{background:var(--gold);border-color:var(--gold)}
.n-chk input:checked+i:before{transform:rotate(-45deg) scale(1)}
.n-chk input:focus-visible+i{outline:1px solid var(--gold);outline-offset:3px}

.n-empty{grid-column:1/-1;padding:80px 20px;text-align:center;color:var(--dim);border:1px solid var(--line)}
.n-demo-note{margin-top:20px;padding:13px 16px;border:1px solid #3a3324;background:#1c1a14;font-size:12.5px;color:#b39a5a;line-height:1.7}

/* ============================================================
   회원 화면
   ============================================================ */
.n-mb{max-width:900px;margin:0 auto;padding:0 24px}
.n-mb-head{text-align:center;margin-bottom:40px}
.n-mb-head .eb{font-family:var(--latin);font-size:12px;letter-spacing:.28em;color:var(--gold);margin-bottom:14px}
.n-mb-head h2{font-family:var(--serif);font-size:32px;font-weight:500}
.n-mb-head .desc{margin-top:12px;font-size:14px;color:var(--dim)}

.n-steps{display:flex;justify-content:center;gap:34px;margin:0 auto 44px;max-width:560px}
.n-steps li{font-family:var(--latin);font-size:13px;letter-spacing:.16em;color:#5f636b;position:relative;padding-left:26px}
.n-steps li:before{content:attr(data-n);position:absolute;left:0;top:1px;width:18px;height:18px;border:1px solid var(--line);font-size:10px;display:flex;align-items:center;justify-content:center}
.n-steps li.on{color:var(--gold)}
.n-steps li.on:before{border-color:var(--gold);color:var(--gold)}

#mb_login.n-login{max-width:420px;margin:0 auto;padding:0 24px}
.n-login-form{display:flex;flex-direction:column;gap:12px}
.n-login-form input[type=text],.n-login-form input[type=password]{height:54px;padding:0 16px;border:1px solid var(--line);background:var(--bg3);color:var(--ivory);width:100%}
.n-login-form input:focus{border-color:var(--gold);outline:0}
.n-login-form .btn_submit{margin-top:8px;width:100%}
.n-login-opt{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:13.5px}
.n-login-opt a{color:var(--dim)}
.n-login-opt a:hover{color:var(--gold)}
.n-login-join{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);text-align:center;font-size:13.5px;color:var(--dim)}
.n-login-join a{margin-left:8px;color:var(--gold);border-bottom:1px solid rgba(201,162,39,.5);padding-bottom:2px}
.n-guest{max-width:600px;margin:46px auto 0;padding:30px;border:1px solid var(--line);background:var(--bg2)}
.n-guest h2{font-family:var(--serif);font-size:19px;margin-bottom:10px}
.n-guest p{font-size:13.5px;color:var(--dim);line-height:1.85}
.n-guest #guest_privacy{max-height:180px;overflow-y:auto;background:var(--bg3);border:1px solid var(--line);padding:16px;margin:16px 0;font-size:13px;line-height:1.8}

.n-agree-sec{border:1px solid var(--line);margin-bottom:20px;background:var(--bg2)}
.n-agree-sec>h3{display:flex;align-items:center;gap:8px;padding:18px 22px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:16px}
.n-agree-sec>h3 em{font-style:normal;color:var(--gold);font-size:12px;font-family:var(--latin);letter-spacing:.12em}
.n-agree-body{padding:20px 22px}
.n-agree-body textarea{width:100%;height:190px;border:1px solid var(--line);background:var(--bg3);color:var(--text);padding:16px;font-size:13px;line-height:1.85;resize:vertical}
.n-agree-tbl{width:100%;border-top:1px solid var(--line)}
.n-agree-tbl th,.n-agree-tbl td{border-bottom:1px solid var(--line2);padding:12px;font-size:13px;text-align:left;line-height:1.6;color:var(--text)}
.n-agree-tbl th{background:var(--bg3);color:var(--ivory);font-weight:500;white-space:nowrap}
.n-agree-foot{padding:16px 22px;border-top:1px solid var(--line2);text-align:right}
.n-agree-all{display:flex;justify-content:center;padding:20px;border:1px solid var(--gold);margin-bottom:26px}
.n-agree-all .n-chk{font-size:15px;color:var(--gold);letter-spacing:.02em}
.n-agree-all .n-chk i{border-color:var(--gold)}
.n-agree-lead{text-align:center;color:var(--dim);font-size:14px;margin-bottom:30px}

.n-reg #register_form.form_01{margin:0;padding:0;border:0;background:none}
.n-reg .register_form_inner{border:1px solid var(--line);background:var(--bg2);margin-bottom:20px;padding:0}
.n-reg .register_form_inner>h2{padding:18px 22px;margin:0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:16px;font-weight:500;color:var(--ivory);text-align:left;position:static;width:auto;height:auto;overflow:visible;clip:auto;background:none}
.n-reg .register_form_inner>ul{padding:24px 22px;margin:0;list-style:none}
.n-reg .register_form_inner>ul>li{margin:0 0 20px;padding:0;border:0;background:none;list-style:none;position:relative}
.n-reg .register_form_inner>ul>li:last-child{margin-bottom:0}
.n-reg .register_form_inner>ul>li>label,.n-reg .register_form_inner>ul>li>.frm_label{display:block;margin:0 0 8px;font-family:var(--latin);font-size:13px;letter-spacing:.1em;color:var(--gold);width:auto;float:none}
.n-reg .frm_input,.n-reg input[type=text],.n-reg input[type=password],.n-reg input[type=email],.n-reg input[type=tel],.n-reg select{height:50px;padding:0 16px;border:1px solid var(--line);background:var(--bg3);color:var(--ivory);width:100%;outline:0}
.n-reg input:focus,.n-reg select:focus,.n-reg textarea:focus{border-color:var(--gold)}
.n-reg textarea{width:100%;min-height:110px;padding:12px 16px;border:1px solid var(--line);background:var(--bg3);color:var(--ivory);line-height:1.8;resize:vertical}
.n-reg input[type=file]{width:100%;font-size:13px;padding:12px 0;color:var(--dim)}
.n-reg .half_input{display:inline-block;width:calc(50% - 6px);vertical-align:top}
.n-reg .half_input.left_input{margin-right:8px}
.n-reg .twopart_input{display:inline-block;width:calc(100% - 150px);margin-right:6px}
.n-reg .frm_address{margin-top:8px}
.n-reg .btn_frmline{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 18px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:13px;margin:0 6px 6px 0;width:auto}
.n-reg .btn_frmline:hover{background:var(--gold);color:#0e0f12}
.n-reg .tooltip_icon{width:auto;height:auto;padding:0 0 0 4px;border:0;background:none;color:var(--dim);font-size:14px}
.n-reg .tooltip{display:none;position:static;width:auto;margin-top:8px;padding:10px 12px;border:1px solid var(--line);background:var(--bg3);font-size:12px;color:var(--dim);line-height:1.7;font-weight:400;letter-spacing:0}
.n-reg .tooltip_icon.on~.tooltip{display:block}
.n-reg #msg_mb_id,.n-reg #msg_mb_nick,.n-reg #msg_mb_email{display:block;margin-top:7px;font-size:12.5px;color:var(--gold)}
.n-reg .cert_desc{font-weight:400;color:var(--dim);font-size:11.5px;margin-left:4px;letter-spacing:0}
.n-reg .cert_req{font-size:12px;color:var(--gold);margin-left:6px}
.n-reg .chk_box{display:block}
.n-reg .chk_box input[type=checkbox]{width:auto;height:auto;margin-right:8px;vertical-align:middle;accent-color:#c9a227}
.n-reg .chk_box>label,.n-reg .chk_li{display:inline;font-size:14px;font-weight:400;color:var(--text);vertical-align:middle;letter-spacing:0}
.n-reg .consent-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.n-reg .consent-line .js-open-consent{margin-left:auto;height:32px;padding:0 12px;border:1px solid var(--line);background:transparent;font-size:12.5px;color:var(--dim)}
.n-reg .sub-consents{margin:10px 0 0 26px;padding:12px 14px;border-left:1px solid var(--line);background:var(--bg3)}
.n-reg .sub-consents li{margin-bottom:8px}
.n-reg .consent-date{font-size:12px;color:var(--dim);margin-top:4px}
.n-reg #captcha{margin-top:10px}
.n-reg #captcha #captcha_key{height:46px;width:150px;display:inline-block;margin-right:6px}
#msg_certify{margin-top:10px;padding:10px 14px;border:1px solid #2d4a35;background:#16211a;font-size:13px;color:#7dc79a}

.n-reg-done{max-width:620px;margin:0 auto;text-align:center}
.n-reg-done-ico{width:92px;height:92px;margin:0 auto 30px;border:1px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:34px;border-radius:50%}
.n-reg-done h2{font-family:var(--serif);font-size:30px;font-weight:500}
.n-reg-done h2 strong{color:var(--gold);font-weight:500}
.n-reg-done .lead{margin-top:16px;font-size:15px;color:var(--dim);line-height:1.9}
.n-reg-done-box{margin-top:32px;border:1px solid var(--line);background:var(--bg2);padding:26px;text-align:left}
.n-reg-done-box dl{display:flex;gap:14px;padding:7px 0;font-size:14px}
.n-reg-done-box dt{width:92px;flex:0 0 auto;color:var(--dim);font-family:var(--latin);letter-spacing:.08em}
.n-reg-done-box dd{color:var(--ivory)}
.n-reg-done-note{margin-top:26px;font-size:13px;color:var(--dim);line-height:1.95;text-align:left;border-top:1px solid var(--line);padding-top:24px}

/* ============================================================
   게시판
   ============================================================ */
.n-bd{max-width:1040px;margin:0 auto;padding:0 24px}
.n-bd-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.n-bd-cnt{font-family:var(--latin);font-size:13px;letter-spacing:.12em;color:var(--dim)}
.n-bd-cnt b{color:var(--gold);font-weight:600}
.n-bd-srch form{display:flex;border:1px solid var(--line)}
.n-bd-srch select{height:42px;border:0;border-right:1px solid var(--line);padding:0 10px;background:var(--bg3);color:var(--text);outline:0}
.n-bd-srch input[type=text]{height:42px;border:0;padding:0 12px;width:180px;background:var(--bg3);outline:0}
.n-bd-srch button{width:46px;height:42px;background:var(--gold);color:#0e0f12}
.n-bd-cate ul{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.n-bd-cate a{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid var(--line);font-size:13px;color:var(--dim)}
.n-bd-cate a:hover{border-color:var(--gold);color:var(--gold)}
.n-bd-cate #bo_cate_on{background:var(--gold);border-color:var(--gold);color:#0e0f12;font-weight:700}

.n-bd-list li.row{display:flex;align-items:center;gap:22px;padding:26px 4px;border-bottom:1px solid var(--line2);transition:.25s}
.n-bd-list li.row:hover{background:var(--bg2);padding-left:14px;padding-right:14px}
.n-bd-list .no{flex:0 0 56px;font-family:var(--latin);font-size:14px;color:#5f636b;text-align:center}
.n-bd-list .chk{flex:0 0 20px}
.n-bd-list .body{flex:1 1 auto;min-width:0}
.n-bd-list .subj{display:block;font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ivory);line-height:1.5}
.n-bd-list li.row:hover .subj{color:var(--gold)}
.n-bd-list .meta{margin-top:9px;font-family:var(--latin);font-size:12.5px;letter-spacing:.1em;color:#6d717a;display:flex;gap:18px;flex-wrap:wrap}
.n-bd-list .arr{flex:0 0 auto;color:var(--line);font-size:17px}
.n-bd-list li.row:hover .arr{color:var(--gold)}
.n-bd-list .empty{padding:90px 20px;text-align:center;color:var(--dim);border-bottom:1px solid var(--line2)}
.n-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid var(--line);color:var(--dim);font-family:var(--latin);font-size:11px;letter-spacing:.1em;font-style:normal;margin-right:6px;vertical-align:middle}
.n-badge.n{border-color:var(--gold);color:var(--gold)}
.n-badge.new{border-color:var(--gold);background:var(--gold);color:#0e0f12;margin:0 0 0 6px}
.n-badge.g{border-color:#3a3d45;color:var(--dim)}
.n-bd-list .cmt{margin-left:8px;font-family:var(--latin);font-size:13px;color:var(--gold)}
.n-bd-act{display:flex;justify-content:flex-end;gap:8px;margin-top:30px;flex-wrap:wrap}
.n-bd-act .left{margin-right:auto;display:flex;gap:8px}
.n-bd-chkall{padding:12px 4px;border-bottom:1px solid var(--line2);font-size:13px;color:var(--dim)}

.n-bv{max-width:900px;margin:0 auto;padding:0 24px}
.n-bv-hd{padding-bottom:26px;border-bottom:1px solid var(--line)}
.n-bv-cate{display:inline-block;margin-bottom:12px;font-family:var(--latin);font-size:12px;letter-spacing:.2em;color:var(--gold)}
.n-bv-hd h2{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.45}
.n-bv-info{display:flex;flex-wrap:wrap;gap:20px;padding:16px 2px;border-bottom:1px solid var(--line2);font-family:var(--latin);font-size:13px;letter-spacing:.08em;color:var(--dim)}
.n-bv-info strong{color:var(--text);font-weight:400}
.n-bv-file{padding:16px 2px;border-bottom:1px solid var(--line2)}
.n-bv-file h2{font-family:var(--latin);font-size:12px;letter-spacing:.18em;color:var(--gold);margin-bottom:8px}
.n-bv-file li{padding:4px 0;font-size:14px}
.n-bv-file .cnt{margin-left:8px;font-size:12px;color:#6d717a}
.n-bv-con{padding:44px 2px 52px;font-size:16px;line-height:2;min-height:200px;color:var(--text);overflow-x:auto}
.n-bv-con table{max-width:100%}
.n-bv-link{padding:14px 2px;border-top:1px solid var(--line2);font-size:14px}
.n-bv-link a{color:var(--gold);word-break:break-all}
.n-bv-act{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.n-bv-act a,.n-bv-act span.g{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border:1px solid var(--line);font-size:13px;color:var(--dim)}
.n-bv-act a:hover{border-color:var(--gold);color:var(--gold)}
.n-bv-nb li{border-bottom:1px solid var(--line2)}
.n-bv-nb a{display:flex;align-items:center;gap:18px;padding:16px 4px;font-size:14px}
.n-bv-nb b{flex:0 0 64px;font-family:var(--latin);font-size:12px;letter-spacing:.12em;color:#6d717a}
.n-bv-nb a:hover span{color:var(--gold)}
#bo_vc{max-width:900px;margin:48px auto 0;padding:0 24px}
#bo_vc h2{font-family:var(--serif);font-size:18px;margin-bottom:16px}
#bo_vc article{padding:20px 0;border-bottom:1px solid var(--line2)}
#bo_vc header{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--dim);margin-bottom:8px}
#bo_vc_w{margin-top:24px;padding:22px;border:1px solid var(--line);background:var(--bg2)}
#bo_vc_w textarea{width:100%;height:100px;border:1px solid var(--line);background:var(--bg3);color:var(--ivory);padding:12px;resize:vertical}

.n-bw{max-width:900px;margin:0 auto;padding:0 24px}
.n-bw-row{margin-bottom:22px}
.n-bw-row>label,.n-bw-row>.lb{display:block;margin-bottom:9px;font-family:var(--latin);font-size:13px;letter-spacing:.1em;color:var(--gold)}
.n-bw-row>label i,.n-bw-row>.lb i{font-style:normal}
.n-bw-row input[type=text],.n-bw-row input[type=password],.n-bw-row select{width:100%;height:50px;padding:0 16px;border:1px solid var(--line);background:var(--bg3);color:var(--ivory)}
.n-bw-row input:focus,.n-bw-row select:focus,.n-bw-row textarea:focus{border-color:var(--gold);outline:0}
.n-bw-row textarea{width:100%;min-height:320px;padding:16px;border:1px solid var(--line);background:var(--bg3);color:var(--ivory);line-height:1.85;resize:vertical}
.n-bw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.n-bw-opt{display:flex;flex-wrap:wrap;gap:18px;padding:14px 16px;border:1px solid var(--line);background:var(--bg2)}
.n-bw-opt label{display:inline-flex;align-items:center;gap:7px;font-size:14px;cursor:pointer;color:var(--text)}
.n-bw-opt input[type=checkbox]{accent-color:#c9a227}
.n-bw-file{display:flex;flex-direction:column;gap:10px}
.n-bw-file .file_dl{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px;border:1px dashed var(--line)}
.n-bw-file input[type=file]{flex:1 1 240px;font-size:13px;color:var(--dim)}
.n-bw-file input[type=text]{flex:1 1 200px;height:42px}
.n-bw-file .file_del{font-size:12.5px;color:var(--dim)}
#autosave_wrapper{position:relative}
#btn_autosave{position:absolute;right:8px;top:8px;height:34px;padding:0 12px;border:1px solid var(--line);background:var(--bg2);color:var(--dim);font-size:12px}
#autosave_pop{display:none;position:absolute;right:0;top:48px;z-index:20;width:320px;background:var(--bg2);border:1px solid var(--gold);padding:14px}
#char_count_wrap{margin-top:8px;font-size:12px;color:var(--dim);text-align:right}

/* ── 반응형 ─────────────────────────────────────────── */
@media (max-width:1280px){
  :root{--rail:184px}
  .n-wrap{padding:0 28px}
}
@media (max-width:1024px){
  :root{--rail:0px}
  .n-rail{position:sticky;top:0;left:auto;bottom:auto;width:100%;height:auto;flex-direction:column;padding:0;border-right:0;border-bottom:1px solid var(--line)}
  .n-rail-top{position:relative;margin:0;padding:16px 20px}
  .n-logo em{font-size:24px}
  .n-burger{display:flex}
  .n-rail-body{display:none;padding:0 20px 24px}
  .n-rail.is-open .n-rail-body{display:flex}
  .n-nav{border-top:1px solid var(--line);padding-top:16px}
  .n-nav a{padding:11px 0}
  .n-rail-util{margin-top:16px;padding-top:20px;border-top:1px solid var(--line)}
  .n-rail-util>ul{display:flex;flex-wrap:wrap;gap:16px}
  .n-rail-util>ul li{margin:0}
  .n-main,.n-ft{margin-left:0}
  .n-pagehead{padding:44px 0 30px;margin-bottom:34px}
  .n-pagehead h2{font-size:29px}
  .n-ft-top{grid-template-columns:minmax(0,1fr);gap:34px}
  .n-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n-bw-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  body{font-size:14.5px}
  .n-wrap{padding:0 18px}
  .n-pagehead h2{font-size:24px}
  .n-bd,.n-bv,.n-bw,#bo_vc{padding-left:18px;padding-right:18px}
  .n-bd-top{flex-direction:column;align-items:stretch}
  .n-bd-srch form{width:100%}
  .n-bd-srch input[type=text]{width:100%}
  .n-bd-list li.row{gap:12px;padding:20px 2px}
  .n-bd-list .no{flex:0 0 38px}
  .n-bd-list .subj{font-size:16px}
  .n-bd-list .arr{display:none}
  .n-bv-hd h2{font-size:23px}
  .n-bv-con{font-size:15px;padding:30px 0 36px}
  .n-mb-head h2{font-size:25px}
  .n-steps{gap:16px}
  .n-steps li{font-size:11px;padding-left:22px}
  .n-reg-done h2{font-size:23px}
  .n-reg .half_input{width:100%;margin-right:0;display:block}
  .n-reg .half_input.left_input{margin-bottom:20px}
  .n-ft-cols{grid-template-columns:minmax(0,1fr)}
  .btn_confirm>*{flex:1 1 0}
}

/* 코어 스킨에서 쓰는 버튼 별칭 */
.n-btn.line{border-color:var(--line);color:var(--text);background:transparent}
.n-btn.line:hover{border-color:var(--gold);color:var(--gold)}

/* ============================================================
   모바일 가로 넘침 방지  ★ 지우지 마세요 ★
   ------------------------------------------------------------
   코어 CSS(css/core.shop.css · core.base.css)는 1200px 고정폭 PC 화면을
   기준으로 만들어져 있어서, 그대로 두면 휴대폰에서 화면이 옆으로 밀립니다.
   이 테마가 쓰는 코어 아이디(#container 등)의 고정폭을 여기서 풀어 줍니다.
   ============================================================ */
/* overflow-x:clip 은 hidden 과 달리 스크롤 컨테이너를 만들지 않아서
   머리말·사이드바의 position:sticky 가 그대로 살아 있습니다. hidden 으로 바꾸지 마세요. */
body{overflow-x:clip;overflow-wrap:break-word}

/* 코어가 #container 에 width:1200px(쇼핑) · 930px+float(커뮤니티)를 준다 */
#container{position:relative;float:none;width:auto;max-width:100%;min-width:0;margin:0;padding:0;height:auto}

/* 코어 뼈대 아이디들 — 이 테마는 안 쓰지만 플러그인이 내보낼 수 있어 함께 푼다 */
#hd,#wrapper,#ft{min-width:0;max-width:100%}
#ft_wr,#ft_copy,#hd_pop{width:auto;max-width:100%}

/* 코어 화면(장바구니·주문서·마이페이지 등)의 넓은 표는 옆으로 스크롤되게 */
.tbl_wrap,.tbl_head01,.tbl_frm01,#sod_bsk,#sod_frm,#sod_fin,#sod_v,#smb_my{max-width:100%}
.tbl_wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl_wrap>table{min-width:0}

/* 넘칠 수 있는 것들 */
img,video,iframe,object,embed{max-width:100%}
pre,code{white-space:pre-wrap;word-break:break-all}

/* 코어 화면의 여러 칸짜리 표(장바구니·주문서·주문내역)는
   휴대폰에서 칸이 찌그러지지 않도록 표 자체를 옆으로 넘겨 보게 한다 */
@media (max-width:640px){
  #sod_bsk .tbl_wrap>table,#sod_frm .tbl_wrap>table,#sod_fin .tbl_wrap>table,
  #sod_v .tbl_wrap>table,#smb_my .tbl_wrap>table,.tbl_head03>table{min-width:720px}
  /* 상품명 칸이 눌리면 한글이 한 글자씩 세로로 쌓인다 (코어의 word-break:break-all 탓).
     칸에 최소 폭을 주고 낱말 단위로 끊게 한다. (2026-08-31 점검) */
  #sod_bsk_list .td_prd,#sod_frm .td_prd,#sod_fin .td_prd,#sod_v .td_prd{min-width:250px;word-break:keep-all}
  #sod_bsk_list .td_prd a,#sod_frm .td_prd a{word-break:keep-all}
}

/* ── 장바구니·주문서 합계 줄 · 2026-08-31 점검 ────────────────────────────
   코어는 합계 3칸을 33.333% 로 띄운다. 390px 기기에서는 칸이 79px 밖에 안 돼
   "578,000 원" 이 숫자 중간에서 끊긴다. 휴대폰에서는 한 줄에 하나씩 놓는다. */
@media (max-width:640px){
  #sod_bsk #sod_bsk_tot li,#sod_frm #sod_bsk_tot li{
    float:none;width:auto;height:auto;display:flex;justify-content:space-between;
    align-items:baseline;gap:12px;padding:14px 16px;text-align:right;border-left:0}
  #sod_bsk #sod_bsk_tot li span,#sod_frm #sod_bsk_tot li span{float:none;text-align:left}
  #sod_bsk #sod_bsk_tot .sod_bsk_cnt,#sod_frm #sod_bsk_tot .sod_bsk_cnt{width:auto}
}

/* ── 다크 테마에 남아 있던 흰 배경 표 · 2026-08-31 점검 ────────────────────
   장바구니·주문서·주문내역·마이페이지의 코어 표는 칸(td)이 흰 배경인데
   테마 글자색은 밝은 회색이라 **글씨가 거의 안 보였다.** 머리글(th)도 짙은
   회색이어서 어두운 배경에 묻혔다. 다크 팔레트로 맞춘다.
   이 블록을 지우면 장바구니 글씨가 다시 안 보인다. */
#sod_bsk_list th,#sod_frm th,#sod_fin th,#sod_v th,#smb_my th,
#sod_ws th,#sod_inquiry th,.tbl_head01 th,.tbl_head02 th,.tbl_head03 th{
  background:var(--bg3);color:var(--ivory);border-color:var(--line)}
#sod_bsk_list td,#sod_frm td,#sod_fin td,#sod_v td,#smb_my td,
#sod_ws td,#sod_inquiry td,.tbl_head01 td,.tbl_head02 td,.tbl_head03 td{
  background:var(--bg2);color:var(--text);border-color:var(--line)}
#sod_bsk_list .td_prd a,#sod_frm .td_prd a,#sod_fin .td_prd a,
#sod_v .td_prd a,#sod_ws .td_prd a{color:var(--ivory)}
#sod_bsk_list tr:hover td,#sod_ws tr:hover td{background:var(--bg3)}

/* ── 주문서·주문완료 화면의 흰 블록 · 2026-08-31 점검 ──────────────────────
   코어의 모바일 주문서(`#sod_frm.sod_frm_mobile`)는 흰 배경 블록을 여럿 쓴다.
   다크 테마에서는 그 위에 밝은 글자가 얹혀 **제목이 아예 안 보였다**
   ("주문하시는 분"·"받으시는 분" 대비 1.14:1). 코어가 아이디 두 개로 걸어 두어
   선택자를 `#sod_frm.sod_frm_mobile` 부터 써야 이긴다. 지우면 다시 안 보인다. */
#sod_frm.sod_frm_mobile section,
#sod_frm.sod_frm_mobile #sod_frm_orderer,
#sod_frm.sod_frm_mobile #sod_frm_taker,
#sod_frm.sod_frm_mobile #sod_frm_pay,
#sod_frm.sod_frm_mobile #sod_frm_deli,
#sod_frm.sod_frm_mobile .sod_ta_wr,
#sod_frm.sod_frm_mobile .odf_tbl table,
#sod_frm.sod_frm_mobile #m_sod_frm_paysel,
#sod_frm.sod_frm_mobile #m_sod_frm_paysel ul,
#sod_frm.sod_frm_mobile #m_sod_frm_paysel li,
#sod_frm.sod_frm_mobile #display_pay_button,
#sod_frm .sod_list li,#sod_frm .sod_li,#sod_frm ul.sod_list,#sod_frm .total_price,
#sod_fin .sod_list li,#sod_fin section{background:var(--bg2);color:var(--text)}
#sod_frm.sod_frm_mobile .dlv_slt,#sod_frm.sod_frm_mobile li.dlv_slt{background:var(--bg3);color:var(--text)}
#sod_frm.sod_frm_mobile #od_memo,#sod_frm.sod_frm_mobile textarea,
#sod_frm.sod_frm_mobile input[type=text],#sod_frm.sod_frm_mobile input[type=tel],
#sod_frm.sod_frm_mobile input[type=email],#sod_frm.sod_frm_mobile select{
  background:var(--bg3);color:var(--ivory);border:1px solid var(--line)}
#sod_frm.sod_frm_mobile #order_address,#sod_frm.sod_frm_mobile .btn_frmline{
  background:var(--bg3);color:var(--ivory);border:1px solid var(--line)}
#sod_frm h2,#sod_fin h2,#sod_frm .li_name strong,#sod_frm .total_price span,
#sod_frm .total_price strong,#sod_frm.sod_frm_mobile label,#sod_frm.sod_frm_mobile strong,
#sod_frm.sod_frm_mobile .odf_list strong,#sod_frm.sod_frm_mobile legend,
#sod_frm.sod_frm_mobile th,#sod_frm.sod_frm_mobile td{color:var(--ivory)}
#sod_frm h2,#sod_fin h2{background:var(--bg3);border-bottom:1px solid var(--line)}
#sod_frm.sod_frm_mobile #sod_frm_pt_alert{background:var(--bg3);color:var(--gold2);border:1px solid rgba(201,162,39,.35)}
#sod_frm.sod_frm_mobile #sod_frm_pt_alert strong{background:var(--gold);color:var(--bg);padding:2px 8px;border-radius:2px}
#display_pay_button .btn_cancel{background:var(--bg3);color:var(--ivory);border:1px solid var(--line)}

/* ── 다크 테마에 남은 코어 흰 블록 일괄 정리 · 2026-08-31 점검 ─────────────
   NOIR 는 다크 테마인데 영카트 코어 화면(상품상세 하단·상품검색·마이페이지·
   새글모음·FAQ·정렬카드)이 흰 배경 그대로였다. 그 위에 테마의 아이보리 글자가
   얹혀 **"상품 정보"·"관련상품" 같은 제목이 아예 안 보였다.**
   `/root/shot/darkscan.js` 로 흰 블록을 다시 훑을 수 있다. */
#sit_ov_from,#sit_info,#sit_rel,#sit_siblings,#sit_use,#sit_qa,#sit_pvi,
#sit_tab,#sit_tab_con,#sit_desc,#sit_dvr,
#ssch_frm,#ssch_res,#sct_sortlst,#sct_sort,
#smb_my,#smb_my_ov,#smb_my_wish,#smb_my_od,
#new_sch,#faq_sch,#faq_wrap,#faq_con,
.sod_ta_wr,.tbl_head01,.tbl_head02,.tbl_head03{
  background:var(--bg2);color:var(--text);border-color:var(--line)}
#sit_info h2,#sit_rel h2,#sit_use h2,#sit_qa h2,#sit_desc h2,
#smb_my h2,#faq_wrap h2,#sit_info h3,#sit_rel h3{color:var(--ivory)}
#sit_tab li a,#sit_tab_btn li a{color:var(--dim)}
#sit_tab li.on a,#sit_tab_btn li.on a{color:var(--gold)}
#sit_siblings a,#smb_my a,#faq_con a{color:var(--text)}
#sit_rel .empty_list,#smb_my .empty_list,#smb_my .empty_li,.empty_list,.empty_table{
  background:var(--bg2);color:var(--dim);border-color:var(--line)}
#ssch_frm input,#ssch_frm select,.ssch_input,#new_sch input,#new_sch select,
#faq_sch input,#faq_sch select{background:var(--bg3);color:var(--ivory);border:1px solid var(--line)}
.btn01,.btn02,.btn_frmline,.mod_options,#sit_siblings .btn{
  background:var(--bg3);color:var(--ivory);border:1px solid var(--line)}
#faq_wrap li,#faq_con li{background:var(--bg2);color:var(--text);border-color:var(--line)}
/* 위 블록에서 코어가 더 센 선택자로 걸어 둔 나머지 (탭 버튼·작은 버튼·분류상자) */
#sit_tab .tab_tit,#sit_tab ul.tab_tit,ul.tab_tit,ul.tab_tit li,
#sit_tab_btn,#sit_tab_btn li{background:var(--bg2);border-color:var(--line)}
ul.tab_tit li button,#btn_sit_inf,#btn_sit_use,#btn_sit_qa,#btn_sit_dvr{
  background:var(--bg2);color:var(--dim);border-color:var(--line)}
ul.tab_tit li button.selected,#btn_sit_inf.selected,#btn_sit_use.selected,
#btn_sit_qa.selected,#btn_sit_dvr.selected{background:var(--bg3);color:var(--gold);border-color:var(--gold)}
#sod_bsk .btn01,#sod_bsk .mod_options,#smb_my .btn01,#sod_ws .btn01,
#sod_bsk_list .mod_options,.sit_ov_btn .btn01,a.btn01,button.btn01,button.mod_options{
  background:var(--bg3);color:var(--ivory);border:1px solid var(--line)}
#ssch_cate,#ssch_cate ul,#ssch_cate li{background:var(--bg2);color:var(--text);border-color:var(--line)}
#new_sch table,#new_sch .tbl_wrap table,#faq_sch table{background:var(--bg2);color:var(--text)}
/* 코어가 `#sit_tab .tab_tit li button` (아이디+클래스) 로 걸어 두어 더 세다 */
#sit_tab .tab_tit li button,#sit_tab .tab_tit button{background:var(--bg2);color:var(--dim);border:0}
#sit_tab .tab_tit li button.selected,#sit_tab .tab_tit button.selected{background:var(--bg3);color:var(--gold)}
/* 새글모음·FAQ 목록 표 */
#new_wrap table,#new_sch~table,.tbl_wrap>table,#faq_wrap table{background:var(--bg2);color:var(--text)}
/* 탭 내용 영역(ul.tab_con)과 그 안의 상품설명 */
#sit_tab .tab_con,ul.tab_con,ul.tab_con>li,#sit_inf,#sit_use,#sit_qa,#sit_dvex{
  background:var(--bg2);color:var(--text)}
#sit_tab .tab_con h3,#sit_tab .tab_con strong,ul.tab_con span,#sit_inf span,
#sit_desc span,#sit_inf h3{color:var(--ivory)}
#sit_tab .tab_con p,#sit_inf p,#sit_desc p,ul.tab_con p{color:var(--text)}
/* 자동등록방지 안내 문구 */
#captcha_info,.captcha_info,#captcha span{color:var(--dim)}
/* 게시판 글쓴이 등 옅은 메타 */
.sv_member,.sv_guest,.member,.guest{color:var(--dim)}
