/* ============================================================
   그냥일상 공통 크롬 (영카트/그누보드 코어 페이지 주입용)
   - theme/basic/head.sub.php / tail.sub.php 에서 로드
   - 전역 리셋(*, .wrap, .sub 등 충돌 선택자)은 의도적으로 제외(영카트 레이아웃 보호)
   - 크롬 전용 클래스(.hd-*, .pc-*, .m-*, .ft, .quick, .gni-ticker, .dm)만 정의
============================================================ */
:root{
  --gni-bg:#FFFFFF; --gni-surface:#F4F3F1; --gni-text:#1A1A1A; --gni-text-sub:#8A8A8A;
  --gni-line:#ECECEC; --gni-accent:#E5006E; --gni-top-red:#E60023;
  --gni-font: "Pretendard","Inter",system-ui,sans-serif;
}
/* 영카트 페이지 본문 폰트만 그냥일상 톤으로(레이아웃 불변) */
body{font-family:var(--gni-font);}
/* 크롬 내부 한정 리셋 */
.hd-pc *,.hd-mb *,.pc-drawer *,.m-side *,.gni-ticker *,.quick *,.m-top-btn *,.ft *{box-sizing:border-box;}
.hd-pc a,.hd-mb a,.pc-drawer a,.m-side a,.gni-ticker a,.quick a,.ft a{color:var(--gni-text);text-decoration:none;}
.gni-body{min-height:46vh;}

/* ===== HEADER PC ===== */
.hd-pc{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--gni-line);display:none;font-family:var(--gni-font);}
.hd-pc-row{display:flex;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:20px 24px;}
.pc-ham{font-size:19px;cursor:pointer;color:var(--gni-text);line-height:1;}
.pc-ham:hover{color:var(--gni-accent);}
.hd-pc .logo{font-size:24px;font-weight:700;letter-spacing:.14em;white-space:nowrap;}
.pc-search{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--gni-text);border-radius:50px;padding:11px 18px;max-width:640px;}
.pc-search input{border:0;flex:1;font-size:13px;font-family:var(--gni-font);outline:none;background:transparent;}
.pc-search input::placeholder{color:var(--gni-text-sub);}
.pc-search button{border:0;background:transparent;color:var(--gni-text);cursor:pointer;font-size:14px;outline:none;}
/* 검색창 클릭 시 파란 포커스 아웃라인 제거 (입력창/버튼/컨테이너 모두) */
.pc-search:focus-within{outline:none;}
form.pc-search input:focus,form.pc-search input:focus-visible,.pc-search button:focus,.pc-search button:focus-visible{outline:none!important;box-shadow:none!important;border:0!important;}
.pc-util{display:flex;gap:26px;margin-left:auto;}
.pc-util a{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:var(--gni-text);min-width:46px;}
.pc-util a i,.pc-util a svg{font-size:18px;color:var(--gni-text);}
.pc-util a:hover,.pc-util a:hover i,.pc-util a:hover svg{color:var(--gni-accent);}
.pc-util .ut-txt{letter-spacing:.02em;}
.pc-gnb{border-top:1px solid var(--gni-line);}
.pc-gnb ul{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:16px 24px;list-style:none;}
.pc-gnb a{font-size:14px;letter-spacing:.1em;color:var(--gni-text);font-weight:600;padding:8px 16px;border-radius:4px;transition:background .15s,color .15s;text-transform:uppercase;}
.pc-gnb a:hover{background:var(--gni-surface);color:var(--gni-accent);}

.pc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:75;opacity:0;visibility:hidden;transition:.3s;}
.pc-overlay.on{opacity:1;visibility:visible;}
.pc-drawer{position:fixed;top:0;left:0;width:360px;max-width:84vw;height:100%;background:#fff;z-index:80;transform:translateX(-100%);transition:.3s;padding:26px 26px 40px;overflow-y:auto;display:none;font-family:var(--gni-font);}
.pc-drawer.on{transform:translateX(0);}
.pc-drawer .pd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.pc-drawer .pd-logo{font-size:20px;font-weight:700;letter-spacing:.13em;}
.pc-drawer .pd-close{font-size:18px;color:var(--gni-text-sub);cursor:pointer;}

.dm{list-style:none;margin:0;padding:0;}
.dm>li{border-bottom:1px solid var(--gni-line);}
.dm>li>a{display:flex;align-items:center;justify-content:space-between;padding:18px 4px;font-size:15px;letter-spacing:.08em;color:var(--gni-text);}
.dm>li>a .caret{font-size:13px;color:var(--gni-text-sub);transition:transform .25s;}
.dm>li.open>a{color:var(--gni-accent);}
.dm>li.open>a .caret{transform:rotate(180deg);color:var(--gni-accent);}
.dm .dm-sub{list-style:none;max-height:0;overflow:hidden;transition:max-height .3s ease;margin:0;padding:0;}
.dm>li.open .dm-sub{max-height:420px;}
.dm .dm-sub li a{display:block;padding:11px 16px;font-size:14px;color:var(--gni-text-sub);text-transform:uppercase;}
.dm .dm-sub li a:hover{color:var(--gni-text);}

/* ===== HEADER MOBILE ===== */
.hd-mb{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--gni-line);font-family:var(--gni-font);}
.hd-mb-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:15px 16px 11px;}
.hd-mb-top .m-menu{font-size:19px;width:26px;cursor:pointer;}
.hd-mb-top .logo{position:absolute;left:50%;transform:translateX(-50%);font-size:19px;font-weight:700;letter-spacing:.12em;white-space:nowrap;}
.hd-mb-top .m-right{display:flex;gap:14px;align-items:center;font-size:16px;}
.hd-mb-top .m-right a{display:inline-flex;color:var(--gni-text);}
.hd-mb-top .m-right svg{width:17px;height:17px;}
.mb-search{display:flex;align-items:center;gap:8px;margin:0 16px 11px;padding:9px 13px;border:1px solid var(--gni-line);border-radius:50px;background:#fafafa;}
.mb-search input{border:0;background:transparent;flex:1;font-size:12.5px;font-family:var(--gni-font);outline:none;}
.mb-search input::placeholder{color:var(--gni-text-sub);}
/* 모바일 검색창 클릭 시 파란 포커스 아웃라인 제거 */
.mb-search:focus-within{outline:none;}
form.mb-search input:focus,form.mb-search input:focus-visible{outline:none!important;box-shadow:none!important;border:0!important;}
.brandbar{display:flex;justify-content:safe center;gap:20px;overflow-x:auto;padding:11px 16px;border-top:1px solid var(--gni-line);scrollbar-width:none;}
.brandbar::-webkit-scrollbar{display:none;}
.brandbar a{font-size:12px;letter-spacing:.06em;color:var(--gni-text);font-weight:600;white-space:nowrap;padding:5px 11px;border-radius:4px;transition:background .15s,color .15s;text-transform:uppercase;}
.brandbar a:hover{background:var(--gni-surface);color:var(--gni-accent);}

.m-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:60;opacity:0;visibility:hidden;transition:.3s;}
.m-overlay.on{opacity:1;visibility:visible;}
.m-side{position:fixed;top:0;left:0;width:80%;max-width:330px;height:100%;background:#fff;z-index:70;transform:translateX(-100%);transition:.3s;overflow-y:auto;padding:22px 22px 60px;font-family:var(--gni-font);}
.m-side.on{transform:translateX(0);}
.m-side .m-close{position:absolute;top:18px;right:18px;font-size:18px;color:var(--gni-text-sub);}
.m-side .m-logo{font-size:20px;font-weight:700;letter-spacing:.13em;margin-bottom:22px;}
.m-side .m-acct{display:flex;flex-direction:column;gap:2px;padding-bottom:14px;border-bottom:1px solid var(--gni-line);margin-bottom:2px;}
.m-side .m-acct a{display:flex;align-items:center;gap:12px;padding:12px 4px;font-size:14px;}
.m-side .m-acct a i,.m-side .m-acct a svg{width:20px;text-align:center;color:var(--gni-text);font-size:16px;}
.m-side .m-acct .badge{margin-left:auto;background:var(--gni-accent);color:#fff;font-size:10px;border-radius:50px;padding:1px 7px;}

/* ===== 상단 띠배너 ===== */
.gni-ticker{display:block;width:100%;background:#1A1A1A;overflow:hidden;white-space:nowrap;position:relative;}
.gni-ticker .gni-track{display:inline-flex;align-items:center;padding:11px 0;animation:gni-marq 24s linear infinite;will-change:transform;}
.gni-ticker .gni-track span{font-size:13px;letter-spacing:.2em;color:#fff;text-transform:uppercase;white-space:nowrap;padding:0 28px;}
.gni-ticker:hover .gni-track{animation-play-state:paused;}
@keyframes gni-marq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ===== 우측 플로팅 퀵메뉴 (PC) ===== */
.quick{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--gni-text);border-radius:44px;padding:12px 8px;box-shadow:0 8px 26px rgba(0,0,0,.12);}
.quick a{display:flex;flex-direction:column;align-items:center;gap:6px;width:66px;padding:12px 0;color:var(--gni-text);border-radius:12px;}
.quick a svg{width:24px;height:24px;stroke-width:1.9;}
.quick a span{font-size:11px;font-weight:600;color:var(--gni-text);}
.quick a:hover,.quick a:hover span{color:var(--gni-accent);}
.quick .q-top{margin-top:4px;border-top:1px solid var(--gni-line);padding-top:8px;}
.quick .q-top span{font-size:9px;letter-spacing:.05em;}
.m-top-btn{display:none;position:fixed;right:22px;bottom:90px;z-index:45;width:50px;height:50px;border-radius:50%;background:var(--gni-top-red);color:#fff;align-items:center;justify-content:center;box-shadow:0 5px 16px rgba(0,0,0,.25);border:0;cursor:pointer;}
.m-top-btn svg{width:23px;height:23px;}

/* ===== FOOTER ===== */
.ft{margin-top:56px;border-top:1px solid var(--gni-line);background:#F4F3F1;font-family:var(--gni-font);}
.ft .wrap{max-width:1200px;margin:0 auto;padding:40px 24px 70px;}
.ft .flogo{font-size:18px;letter-spacing:.14em;font-weight:700;margin-bottom:20px;}
.ft .cs{font-size:20px;letter-spacing:.04em;margin-bottom:4px;}
.ft .cs small{display:block;font-size:11px;color:var(--gni-text-sub);letter-spacing:0;margin-top:4px;}
.ft .links{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;color:var(--gni-text);margin:20px 0;}
.ft .links a:hover{color:var(--gni-accent);}
.ft .biz{font-size:11px;color:var(--gni-text-sub);line-height:1.8;margin-top:18px;}
.ft-pc{display:none;background:#F4F3F1;border-top:1px solid var(--gni-line);}
.ft-pc .wrap{max-width:1200px;margin:0 auto;padding:46px 40px 56px;}
.ft-pc p{font-size:13px;color:#666;line-height:1.4;margin-bottom:16px;}
.ft-pc .sep{color:#d2d2d2;margin:0 12px;}
.ft-pc .biz-confirm{display:inline-block;background:#f0f0f0;color:#888;font-size:11px;padding:2px 9px;margin-left:8px;border-radius:2px;}
.ft-pc .host{color:#888;}
.ft-pc .copy{font-size:12px;color:#c4c4c4;margin-top:26px;margin-bottom:0;}
.ft-pc .copy b{color:#9a9a9a;font-weight:600;}

/* ===== 반응형 전환 ===== */
@media (min-width:1024px){
  .hd-pc{display:block;}
  .hd-mb{display:none;}
  .ft-mb{display:none;}
  .ft-pc{display:block;}
  .pc-drawer{display:block;}
  .quick{right:24px;}
}
@media (max-width:1023px){
  .hd-pc{display:none;}
  .hd-mb{display:block;}
  .ft-pc{display:none;}
  .ft-mb{display:block;}
  .quick{display:none;}
  .m-top-btn{display:flex;}
  .gni-ticker .gni-track span{font-size:11px;letter-spacing:.16em;padding:0 22px;}
  .gni-ticker .gni-track{padding:9px 0;}
}
@media (max-width:360px){
  .hd-mb-top .logo{font-size:17px;}
  .hd-mb-top .m-right{gap:12px;}
}

/* ============================================================
   장바구니 reskin (영카트 #sod_bsk — 폼/JS 불변, 디자인만)
============================================================ */
#sod_bsk{max-width:1100px;margin:0 auto;padding:clamp(28px,4vw,48px) 18px 40px;font-family:var(--gni-font);color:var(--gni-text);}
#sod_bsk::before{content:"장바구니";display:block;text-align:center;font-size:clamp(26px,5vw,40px);font-weight:800;letter-spacing:.08em;}
/* 영카트 기본 페이지 제목(작은 "장바구니")은 장바구니 페이지에서만 숨김 (목록/상품 제목은 유지) */
#wrapper_title{display:none !important;}
#sod_bsk .od_prd_list,#sod_bsk{}
#sod_bsk .tbl_head03{margin-top:26px;border-top:2px solid var(--gni-text);}
#sod_bsk table{width:100%;border-collapse:collapse;}
#sod_bsk thead th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gni-text-sub);font-weight:600;padding:14px 6px;border-bottom:1px solid var(--gni-line);background:#fff;}
#sod_bsk tbody td{padding:18px 6px;border-bottom:1px solid var(--gni-line);font-size:13.5px;vertical-align:middle;text-align:center;}
#sod_bsk .td_prd{text-align:left;}
#sod_bsk .sod_img{display:inline-block;vertical-align:middle;margin-right:14px;}
#sod_bsk .sod_img img{width:84px;height:84px;object-fit:cover;background:var(--gni-surface);border:1px solid var(--gni-line);}
#sod_bsk .sod_name{display:inline-block;vertical-align:middle;max-width:calc(100% - 110px);}
#sod_bsk .prd_name b{font-size:14px;font-weight:500;color:var(--gni-text);}
#sod_bsk .sod_opt{font-size:12px;color:var(--gni-text-sub);margin-top:6px;}
#sod_bsk .td_numbig.total_prc,#sod_bsk .total_prc{font-weight:700;}
#sod_bsk .sod_option_btn{margin-top:8px;}
#sod_bsk .mod_options{font-size:11px;letter-spacing:.04em;border:1px solid var(--gni-line);background:#fff;color:var(--gni-text);padding:6px 10px;cursor:pointer;}
#sod_bsk .mod_options:hover{border-color:var(--gni-text);}
#sod_bsk .empty_table{padding:80px 0;text-align:center;color:var(--gni-text-sub);font-size:14px;}
/* 선택삭제/비우기 */
#sod_bsk .btn_cart_del{display:flex;gap:8px;margin-top:14px;justify-content:center;}
#sod_bsk .btn_cart_del button{font-family:var(--gni-font);font-size:12px;letter-spacing:.03em;border:1px solid var(--gni-line);background:#fff;color:var(--gni-text);padding:9px 16px;cursor:pointer;}
#sod_bsk .btn_cart_del button:hover{border-color:var(--gni-text);}
/* 합계 박스 */
#sod_bsk_tot{margin-top:26px;border:1px solid var(--gni-line);background:var(--gni-surface);padding:22px 24px;}
#sod_bsk_tot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 32px;align-items:baseline;justify-content:flex-end;}
#sod_bsk_tot li{font-size:13px;color:var(--gni-text-sub);}
#sod_bsk_tot li strong{font-size:15px;color:var(--gni-text);font-weight:700;margin:0 2px;}
#sod_bsk_tot .sod_bsk_cnt{margin-left:auto;font-size:14px;color:var(--gni-text);}
#sod_bsk_tot .sod_bsk_cnt strong{font-size:24px;color:var(--gni-accent);font-weight:800;}
/* 액션 버튼 */
#sod_bsk_act{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px;}
#sod_bsk_act .btn01{display:inline-flex;align-items:center;justify-content:center;min-width:180px;height:54px;border:1px solid var(--gni-text);background:#fff;color:var(--gni-text);font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
#sod_bsk_act .btn01:hover{background:var(--gni-surface);}
#sod_bsk_act .btn_submit{display:inline-flex;align-items:center;justify-content:center;min-width:220px;height:54px;border:0;background:var(--gni-text);color:#fff;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}
#sod_bsk_act .btn_submit:hover{background:var(--gni-accent);}
@media (max-width:1023px){
  #sod_bsk .tbl_head03{overflow-x:auto;}
  #sod_bsk .sod_img img{width:64px;height:64px;}
  #sod_bsk_act .btn01,#sod_bsk_act .btn_submit{flex:1;min-width:0;}
  #sod_bsk_tot ul{justify-content:space-between;}
}

/* ============================================================
   영카트/그누보드 기본 헤더·푸터·사이드·퀵 숨김
   (그냥일상 공통 크롬으로 대체 — 이중 표시 방지)
============================================================ */
#hd, #hd_wrapper, #hd_define, #hd_menu, #hd_qnb, #hd_sch,
#side_menu, #quick, #top_btn, #ft{display:none !important;}

/* ============================================================
   회원가입 reskin (그누보드 register — 폼/검증 JS 불변)
============================================================ */
/* 약관동의 + 입력폼 공통 컨테이너 */
#fregister, #fregisterform{max-width:560px;margin:0 auto;padding:clamp(26px,4vw,46px) 18px 50px;font-family:var(--gni-font);color:var(--gni-text);}
#fregister::before, #fregisterform::before{content:"회원가입";display:block;text-align:center;font-size:clamp(26px,5vw,40px);font-weight:800;letter-spacing:.08em;margin:12px 0 36px;}
#fregister::after, #fregisterform::after{content:none;}
/* bbs 기본 페이지 제목(좌측 "회원가입약관" 등) 숨김 */
#container_title{display:none !important;}
/* ===== 약관 동의 (register.skin.php) 재정렬 ===== */
/* 약관 섹션 박스 */
#fregister #fregister_term,
#fregister #fregister_private{position:relative;border:1px solid var(--gni-line);border-radius:4px;margin:14px 0;background:#fff;}
/* 제목 헤더: 좌측 세로중앙 (높이 56px 고정 → 체크박스와 정렬) */
#fregister #fregister_term > h2,
#fregister #fregister_private > h2{margin:0;padding:0 56px 0 18px;min-height:56px;display:flex;align-items:center;font-size:14px;font-weight:700;letter-spacing:.02em;}
/* 약관 본문 textarea: 박스 안 가득, 적당한 높이 스크롤 */
#fregister #fregister_term textarea{display:block;width:100%;height:170px;border:0;border-top:1px solid var(--gni-line);padding:16px 18px;background:#fff;line-height:1.7;font-size:12.5px;color:#555;resize:vertical;}
/* 개인정보 본문(표+고지문): 가두지 않고 전부 노출(넘침 해제) */
#fregister #fregister_private > div{padding:16px 18px;background:#fff;border-top:1px solid var(--gni-line);overflow-x:auto;}
#fregister #fregister_private table{width:100%;border-collapse:collapse;font-size:12.5px;}
#fregister #fregister_private table th{background:var(--gni-surface);width:33.33%;padding:9px;border:1px solid var(--gni-line);font-weight:600;color:var(--gni-text);}
#fregister #fregister_private table td{padding:9px;border:1px solid var(--gni-line);color:#444;line-height:1.6;}
/* 개인정보 고지문 — style.css의 #fregister p(분홍 50px박스) 무력화 */
#fregister .gni-privacy-note{display:block;padding:14px 18px 18px !important;margin:0 !important;font-size:12px !important;color:var(--gni-text-sub) !important;line-height:1.7 !important;background:none !important;height:auto !important;text-align:left !important;font-weight:400 !important;border-radius:0 !important;}
#fregister .gni-privacy-note:before{display:none !important;content:none !important;}
/* 동의 체크박스(각 약관): 우측 세로중앙 (제목 헤더 높이 56px에 맞춤) */
#fregister #fregister_term .fregister_agree,
#fregister #fregister_private .fregister_agree{position:absolute;top:0;right:16px;height:56px;display:flex;align-items:center;margin:0;padding:0;z-index:2;}
#fregister .fregister_agree label span{display:none;} /* 가짜 체크박스 숨김 */
/* 실제 체크박스(.selec_chk) 강제 표시 — style.css의 opacity:0/width:0/position:absolute 무력화 */
#fregister .selec_chk{position:static !important;width:18px !important;height:18px !important;min-width:18px;opacity:1 !important;z-index:auto !important;overflow:visible !important;-webkit-appearance:checkbox !important;appearance:auto !important;accent-color:var(--gni-accent);cursor:pointer;margin:0 !important;top:auto !important;left:auto !important;}
/* 전체동의: 좌측 텍스트 + 우측 체크박스 */
#fregister #fregister_chkall{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--gni-line);background:var(--gni-surface);border-radius:4px;padding:16px 18px;margin-top:14px;line-height:1.4;}
#fregister #fregister_chkall label{order:1;font-size:14px;font-weight:700;color:var(--gni-text);display:flex;align-items:center;cursor:pointer;}
#fregister #fregister_chkall label span{display:none;}
#fregister #fregister_chkall .selec_chk{order:2;}
/* 하단 버튼 (회원가입만, 취소 제거됨) */
#fregister .btn_confirm{margin-top:26px;}
#fregister .btn_confirm .btn_close{display:none;}

/* 입력 폼 (register_form.skin.php) — 테이블 → 세로 스택 */
#fregisterform .tbl_frm01{margin-top:8px;border-top:2px solid var(--gni-text);}
#fregisterform .tbl_frm01 table,#fregisterform .tbl_frm01 caption,#fregisterform .tbl_frm01 colgroup{display:block;width:100%;}
#fregisterform .tbl_frm01 caption{display:none;}
#fregisterform .tbl_frm01 tbody,#fregisterform .tbl_frm01 tr{display:block;width:100%;}
#fregisterform .tbl_frm01 tr{padding:16px 2px;border-bottom:1px solid var(--gni-line);}
#fregisterform .tbl_frm01 th{display:block;width:100%;text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gni-text-sub);font-weight:600;margin-bottom:9px;padding:0;border:0;background:none;}
#fregisterform .tbl_frm01 td{display:block;width:100%;padding:0;border:0;}
#fregisterform .frm_input{width:100%;max-width:100%;height:48px;border:1px solid var(--gni-line);border-radius:4px;padding:0 14px;font-size:14px;font-family:var(--gni-font);background:#fff;margin-bottom:6px;}
#fregisterform .frm_input:focus{outline:none;border-color:var(--gni-text);}
#fregisterform select.frm_input{height:48px;}
#fregisterform .btn_frmline{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 16px;border:1px solid var(--gni-text);background:#fff;color:var(--gni-text);font-size:12px;letter-spacing:.02em;cursor:pointer;white-space:nowrap;margin-bottom:6px;}
#fregisterform .btn_frmline:hover{background:var(--gni-surface);}
#fregisterform .frm_address{margin-bottom:6px;}
#fregisterform .required,#fregisterform .frm_info{font-size:12px;color:var(--gni-text-sub);}
#fregisterform #msg_mb_id,#fregisterform #msg_mb_nick{display:inline-block;font-size:12px;margin-top:4px;}
#fregisterform .btn_submit,#fregister .btn_submit{display:block;width:100%;height:54px;border:0;background:var(--gni-text);color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;border-radius:4px;cursor:pointer;margin-top:26px;text-transform:uppercase;}
#fregisterform .btn_submit:hover,#fregister .btn_submit:hover{background:var(--gni-accent);}
#fregister .btn_close{display:block;width:100%;height:50px;line-height:50px;text-align:center;border:1px solid var(--gni-line);background:#fff;color:var(--gni-text-sub);border-radius:4px;}

/* 장바구니 옵션수정 모달 닫기(X) 버튼 (쥬스프레소 110차 기능) */
#mod_option_frm{position:relative;}
#mod_option_frm .opt_modal_close{position:absolute;top:10px;right:12px;z-index:5;border:0;background:transparent;font-size:18px;color:var(--gni-text-sub);cursor:pointer;line-height:1;}
#mod_option_frm .opt_modal_close:hover{color:var(--gni-accent);}

/* ============================================================
   영카트/그누보드 아웃로그인 사이드(#aside) 제거 + 콘텐츠 풀폭 중앙정렬
   (로그인/마이페이지는 그냥일상 공통 헤더가 제공)
============================================================ */
#aside{display:none !important;}
#container_wr{float:none !important;width:auto !important;}
#container{float:none !important;width:auto !important;max-width:1200px;margin:0 auto !important;padding-left:18px;padding-right:18px;}

/* 회원가입 중앙정렬 보강 */
#fregister, #fregisterform{text-align:left;}
#fregister .register, #register_form{margin:0 auto;}

/* 기타 개인설정(정보공개) 박스 숨김 — 다른 회원 정보 비공개가 기본값 */
#fregisterform .register_form_inner:has(input[name="mb_open"]){display:none !important;}


/* [로고 C안] TAIBE 워드마크 — Archivo 800 */
.hd-pc .logo,.hd-mb-top .logo,.pc-drawer .pd-logo,.m-side .m-logo,.ft .flogo{font-family:"Archivo","Pretendard",sans-serif !important;font-weight:800 !important;letter-spacing:.04em !important;}

/* ============================================================
   상품 리스트(PLP) — /shop/list.php (카드 크기 메인과 동일)
============================================================ */
.plp-wrap{max-width:1200px;margin:0 auto;padding:clamp(22px,4vw,40px) 18px 70px;font-family:var(--gni-font);color:var(--gni-text);}
.plp-crumb{font-size:11px;letter-spacing:.08em;color:var(--gni-text-sub);text-transform:uppercase;margin-bottom:18px;}
.plp-crumb a:hover{color:var(--gni-text);}
.plp-crumb .sep{margin:0 7px;color:var(--gni-line);}
.plp-cathead{text-align:center;margin-bottom:24px;}
.plp-cathead h1{font-size:clamp(28px,6vw,46px);font-weight:800;letter-spacing:.02em;font-family:"Archivo","Pretendard",sans-serif;text-transform:uppercase;}
.plp-cathead .bar{width:38px;height:2px;background:var(--gni-text);margin:16px auto 0;}
.plp-tools{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--gni-text);border-bottom:1px solid var(--gni-line);padding:13px 2px;margin-bottom:24px;gap:10px;flex-wrap:wrap;}
.plp-tools .cnt{font-size:12.5px;color:var(--gni-text-sub);}
.plp-tools .cnt b{color:var(--gni-text);font-weight:700;}
.plp-sort{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;}
.plp-sort::-webkit-scrollbar{display:none;}
.plp-sort a{font-size:11px;letter-spacing:.04em;color:var(--gni-text-sub);white-space:nowrap;text-transform:uppercase;}
.plp-sort a.on{color:var(--gni-accent);font-weight:700;}
.plp-sort a:hover{color:var(--gni-text);}
/* 그리드 — 메인 .grid 와 동일(모바일 2열 30/14, 데스크톱 4열 42/20) */
.plp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 14px;}
.plp-card{position:relative;display:block;}
.plp-card .imgwrap{position:relative;aspect-ratio:1/1;background:var(--gni-surface);border-radius:var(--radius,4px);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.plp-card .imgwrap img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.plp-card:hover .imgwrap img{transform:scale(1.04);}
.plp-card .imgwrap .ph{width:42px;height:42px;color:#c9c6c0;}
.plp-card .badges{position:absolute;top:0;left:0;display:flex;flex-direction:column;gap:4px;z-index:2;}
.plp-card .bdg{font-size:9.5px;letter-spacing:.06em;padding:4px 8px;text-transform:uppercase;font-weight:700;}
.plp-card .bdg.new{background:var(--gni-accent);color:#fff;}
.plp-card .bdg.sale{background:var(--gni-text);color:#fff;}
.plp-card .wish{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--gni-text);background:rgba(255,255,255,.7);border-radius:50%;}
.plp-card .wish svg{width:16px;height:16px;}
.plp-card .wish:hover{color:var(--gni-accent);}
.plp-card .sold{position:absolute;inset:0;background:rgba(26,26,26,.5);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;letter-spacing:.16em;z-index:3;}
.plp-card .brand{font-size:10.5px;letter-spacing:.1em;color:var(--gni-text-sub);text-transform:uppercase;margin-top:12px;}
.plp-card .name{font-size:13.5px;color:var(--gni-text);margin:4px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.plp-card .price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;}
.plp-card .price .off{color:var(--gni-accent);font-weight:800;font-size:14px;}
.plp-card .price .now{font-weight:700;font-size:14px;}
.plp-card .price .org{color:var(--gni-text-sub);font-size:11.5px;text-decoration:line-through;}
.plp-card .rev{display:flex;align-items:center;gap:4px;margin-top:7px;font-size:11px;color:var(--gni-text-sub);}
.plp-card .rev .star{color:var(--gni-accent);font-size:12px;line-height:1;}
.plp-empty{text-align:center;color:var(--gni-text-sub);font-size:13px;padding:70px 0;}
.plp-pager{display:flex;justify-content:center;gap:16px;margin-top:40px;font-size:12px;letter-spacing:.05em;color:var(--gni-text-sub);}
.plp-pager a:hover{color:var(--gni-text);}
.plp-pager strong,.plp-pager a.on{color:var(--gni-text);font-weight:700;border-bottom:1px solid var(--gni-text);}
@media (min-width:1024px){ .plp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 20px;} }

/* ============================================================
   관심상품(위시리스트) — /shop/wishlist.php (카드 크기 메인과 동일)
============================================================ */
.wl-wrap{max-width:1200px;margin:0 auto;padding:clamp(22px,4vw,40px) 18px 70px;font-family:var(--gni-font);color:var(--gni-text);}
.wl-head{text-align:center;margin-bottom:24px;}
.wl-head h1{font-size:clamp(26px,5vw,40px);font-weight:800;letter-spacing:.04em;font-family:"Archivo","Pretendard",sans-serif;}
.wl-head p{font-size:13px;color:var(--gni-text-sub);margin-top:6px;}
.wl-head .bar{width:38px;height:2px;background:var(--gni-text);margin:16px auto 0;}
.wl-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 14px;}
.wl-card{position:relative;}
.wl-card .imgwrap{position:relative;aspect-ratio:1/1;background:var(--gni-surface);border-radius:var(--radius,4px);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.wl-card .imgwrap img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.wl-card:hover .imgwrap img{transform:scale(1.04);}
.wl-card .imgwrap .ph{width:42px;height:42px;color:#c9c6c0;}
.wl-card .wl-chk{position:absolute;top:10px;left:10px;z-index:3;}
.wl-card .wl-chk input{width:18px;height:18px;accent-color:var(--gni-accent);cursor:pointer;}
.wl-card .wl-del{position:absolute;top:10px;right:10px;z-index:3;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.8);border-radius:50%;color:var(--gni-text-sub);}
.wl-card .wl-del:hover{color:var(--gni-accent);}
.wl-card .sold{position:absolute;inset:0;background:rgba(26,26,26,.5);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;letter-spacing:.16em;z-index:2;}
.wl-card .brand{font-size:10.5px;letter-spacing:.1em;color:var(--gni-text-sub);text-transform:uppercase;margin-top:12px;}
.wl-card .name{font-size:13.5px;color:var(--gni-text);margin:4px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.wl-card .price{font-size:14px;font-weight:700;}
.wl-card .date{font-size:11px;color:var(--gni-text-sub);margin-top:5px;}
.wl-empty{text-align:center;color:var(--gni-text-sub);font-size:13px;padding:70px 0;}
.wl-act{display:flex;gap:10px;justify-content:center;margin-top:36px;}
.wl-act button{min-width:170px;height:52px;font-size:13px;letter-spacing:.06em;cursor:pointer;border-radius:var(--radius,4px);}
.wl-act .btn01{border:1px solid var(--gni-text);background:#fff;color:var(--gni-text);}
.wl-act .btn01:hover{background:var(--gni-surface);}
.wl-act .btn02{border:0;background:var(--gni-text);color:#fff;font-weight:700;}
.wl-act .btn02:hover{background:var(--gni-accent);}
@media (min-width:1024px){ .wl-grid{grid-template-columns:repeat(4,1fr);gap:42px 20px;} }
@media (max-width:1023px){ .wl-act button{flex:1;min-width:0;} }

/* ============================================================
   상품 상세(item.form.skin) reskin — 구매폼/옵션/JS 보존, 디자인만
   세로 레이아웃 + 이미지 가로 드래그 슬라이드 + TAIBE 톤
============================================================ */
#sit_ov_wrap{width:auto !important;max-width:1200px;margin:0 auto !important;padding:clamp(16px,3vw,28px) 18px 40px !important;border-top:0 !important;font-family:var(--gni-font);}
#sit_ov_wrap::after{display:none !important;}
#sit_pvi{float:none !important;width:100% !important;position:static !important;}
/* 이미지 가로 슬라이드 */
#sit_pvi_big{float:none !important;display:flex !important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;cursor:grab;text-align:left !important;scrollbar-width:none;}
#sit_pvi_big::-webkit-scrollbar{display:none;}
#sit_pvi_big.dragging{cursor:grabbing;scroll-snap-type:none;}
#sit_pvi_big a, #sit_pvi_big a.visible{display:block !important;flex:0 0 min(560px,84vw);width:min(560px,84vw);scroll-snap-align:center;border-radius:var(--radius);overflow:hidden;background:var(--gni-surface);}
#sit_pvi_big a img{width:100% !important;height:auto !important;display:block;}
#sit_pvi_big #popup_item_image{display:none !important;}
/* 썸네일 가로 */
#sit_pvi_thumb{float:none !important;display:flex !important;gap:8px;overflow-x:auto;margin:10px 0 0 !important;padding:0;justify-content:flex-start;scrollbar-width:none;}
#sit_pvi_thumb::-webkit-scrollbar{display:none;}
#sit_pvi_thumb li{margin:0 !important;flex:0 0 auto;}
#sit_pvi_thumb img{width:58px !important;height:58px !important;object-fit:cover;border:1px solid var(--gni-line) !important;border-radius:var(--radius);}
/* 정보 영역(이미지 아래 중앙) */
#sit_ov{float:none !important;width:100% !important;max-width:680px;margin:30px auto 0 !important;min-height:0 !important;height:auto !important;padding-bottom:0 !important;}
#sit_title{font-family:var(--font-serif,inherit);font-size:clamp(20px,3vw,26px) !important;font-weight:700;line-height:1.35;}
/* 구매 버튼 */
#sit_ov_btn{display:flex !important;gap:8px;margin-top:16px;}
#sit_ov_btn .sit_btn_cart,#sit_ov_btn .sit_btn_buy,#sit_ov_btn .sit_btn_wish{height:54px !important;border-radius:var(--radius) !important;font-family:var(--gni-font);font-size:13px !important;letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.sit_btn_cart{flex:1;border:1px solid var(--gni-text) !important;background:#fff !important;color:var(--gni-text) !important;}
.sit_btn_cart:hover{background:var(--gni-surface) !important;}
.sit_btn_buy{flex:1;border:0 !important;background:var(--gni-text) !important;color:#fff !important;font-weight:700;}
.sit_btn_buy:hover{background:var(--gni-accent) !important;}
.sit_btn_wish{flex:0 0 54px;border:1px solid var(--gni-line) !important;background:#fff !important;color:var(--gni-text) !important;}
.sit_btn_wish:hover{color:var(--gni-accent) !important;border-color:var(--gni-text) !important;}
/* [2026-07-19] 모바일 스킨 '구매하기'(btn_cart_op) 검정 — 폭 무관(넓은 화면에서 모바일스킨 렌더 시 파란색 노출 방지). 기존 ≤1023 미디어쿼리 규칙(468~474)의 폭 의존성 보완 */
.btn_option_wr .btn_cart_op,.btn_option_wr .btn_cart_op.btn_submit{background:var(--gni-text,#1a1a1a) !important;border:0 !important;color:#fff !important;}
.btn_option_wr .btn_cart_op:hover{background:var(--gni-accent,#e5006e) !important;}
/* 가격 강조 */
#sit_tot_price strong,#sit_tot_price b,#sit_tot_price{color:var(--gni-accent) !important;}
@media (min-width:1024px){ #sit_pvi_big a,#sit_pvi_big a.visible{flex:0 0 520px;width:520px;} }

/* [2026-07-21 §92] 상세설명 이미지: 등록 이미지 비율 그대로 + 이미지 사이 일정한 작은 간격(붙지 않게)
   ─ 기존 860×1200 강제 흰여백은 서버측 트림으로 제거, 간격은 여기서 통일 관리(값만 바꾸면 조절 가능) */
#sit_inf_explan .taibe-detail{max-width:860px;margin:0 auto;}
#sit_inf_explan .taibe-detail img{display:block !important;width:auto !important;max-width:100% !important;height:auto !important;margin:0 auto 16px !important;border-radius:2px;}
#sit_inf_explan .taibe-detail img:last-child{margin-bottom:0 !important;}

/* [2026-07-21 §92] 상품상세 하단 탭(사용후기·상품문의·배송/교환) 정리 — 펫터니아 톤 (2·3·4.png) */
/* ① 빈 탭 큰 여백 축소: 스킨 style.css #sit_info{min-height:600px} → 콘텐츠 높이로 */
#sit_info{min-height:0 !important;}
#sit_tab .tab_con{padding-bottom:8px !important;}
/* ② 쓰기 버튼(파랑 btn02)→TAIBE 다크, 더보기(btn01)→아웃라인 */
#sit_use .btn01,#sit_use .btn02,#sit_qa .btn01,#sit_qa .btn02{
  display:inline-flex !important;align-items:center;justify-content:center;height:40px;padding:0 20px;
  border-radius:var(--radius,4px) !important;font-family:var(--gni-font);font-size:13px !important;
  font-weight:600 !important;letter-spacing:.02em;line-height:1 !important;cursor:pointer;transition:.15s;text-decoration:none;}
#sit_use .btn02,#sit_qa .btn02{background:var(--gni-text,#1a1a1a) !important;border:1px solid var(--gni-text,#1a1a1a) !important;color:#fff !important;}
#sit_use .btn02:hover,#sit_qa .btn02:hover{background:var(--gni-accent,#e5006e) !important;border-color:var(--gni-accent,#e5006e) !important;}
#sit_use .btn01,#sit_qa .btn01{background:#fff !important;border:1px solid var(--gni-line,#ececec) !important;color:var(--gni-text,#1a1a1a) !important;}
#sit_use .btn01:hover,#sit_qa .btn01:hover{border-color:var(--gni-text,#1a1a1a) !important;}
/* ③ 상단 버튼바: 빈 테두리 박스 제거 + 높이/여백 중립화(간격은 #sit_use_wbtn에서 통일) */
.sit_use_top{border:0 !important;background:transparent !important;min-height:0 !important;padding:0 !important;margin:0 !important;}
/* ④ 빈 상태 문구: 여유 있는 가운데 정렬·연한 색 */
#sit_use .sit_empty,#sit_qa .sit_empty{padding:72px 20px !important;font-size:14px !important;color:#9a9a9a !important;text-align:center;letter-spacing:.02em;}
/* ⑤ 배송/교환 탭(#sit_dex): 제목·라벨·본문 정리 + 하단 여백 */
#sit_dex{padding:4px 2px 40px !important;text-align:left;}
#sit_dex h2{font-size:17px !important;font-weight:700 !important;color:var(--gni-text,#1a1a1a) !important;margin:0 0 16px !important;padding:0 0 12px !important;border-bottom:1px solid var(--gni-line,#ececec) !important;text-align:left !important;}
#sit_dex #sit_dvr,#sit_dex #sit_ex{margin:0 0 8px !important;color:#666;line-height:1.7;font-size:14px;}
#sit_dex #sit_dvr h3,#sit_dex #sit_ex h3{font-size:14px !important;font-weight:700 !important;color:var(--gni-text,#1a1a1a) !important;margin:14px 0 4px !important;}
/* ⑥ 후기·문의 쓰기/더보기 버튼: 우측 → 가운데 정렬 + 두 탭 동일 위치(사장님 요청) */
#sit_use_wbtn,#sit_qa_wbtn{position:static !important;float:none !important;width:100% !important;margin:0 !important;padding:16px 0 !important;text-align:center !important;min-height:0 !important;}
#sit_use_wbtn>a,#sit_qa_wbtn>a{float:none !important;margin:0 4px !important;vertical-align:middle;}
/* 탭 패널 상단 마진 통일(문의 패널 li#sit_qa의 margin-top:20px 제거) → 후기·문의 버튼 세로 위치 일치 */
#sit_tab .tab_con>li{margin-top:0 !important;}
/* ⑦ 이전/다음 상품: 잘 보이게 아웃라인 버튼화 (사장님 요청) — #siblings_prev/next는 PC·모바일 공통 */
#sit_siblings{display:flex !important;justify-content:space-between !important;align-items:center;gap:10px;border:0 !important;margin:10px auto 22px !important;padding:0 !important;max-width:1200px;}
#sit_siblings a#siblings_prev,#sit_siblings a#siblings_next{display:inline-flex !important;align-items:center;gap:6px;height:42px;padding:0 20px !important;border:1px solid var(--gni-line,#ececec) !important;border-radius:var(--radius,4px) !important;background:#fff !important;color:var(--gni-text,#1a1a1a) !important;font-family:var(--gni-font);font-size:13px !important;font-weight:600 !important;letter-spacing:.02em;text-decoration:none !important;line-height:1;transition:.15s;}
#sit_siblings a#siblings_prev:hover,#sit_siblings a#siblings_next:hover{border-color:var(--gni-text,#1a1a1a) !important;background:var(--gni-surface,#f4f3f1) !important;}
#sit_siblings a#siblings_prev:before{content:"‹" !important;font-size:18px;line-height:1;color:inherit;}
#sit_siblings a#siblings_next{margin-left:auto;}
/* 다음상품: 스킨 회색 스프라이트(:after) 제거하고 검은색 › 셰브론을 !important로 확실히 표시 */
#sit_siblings a#siblings_next:after{content:"›" !important;font-size:18px;line-height:1;color:inherit;background:none !important;background-image:none !important;position:static !important;width:auto !important;height:auto !important;display:inline !important;}
/* 이전상품: 스킨 기본 회색 화살표 스프라이트(style.css:620) 제거 */
#sit_siblings a#siblings_prev:after{display:none !important;content:none !important;background:none !important;}

/* ============================================================
   상품 상세 — 스크롤 시 따라오는 하단 고정 구매바 (TAIBE)
   원래 구매 버튼(.sit_btn_cart/.sit_btn_buy)을 트리거 → 기능 보존
============================================================ */
.gni-sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#fff;border-top:1px solid var(--gni-line,#ececec);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;transform:translateY(110%);transition:transform .3s ease;box-shadow:0 -4px 16px rgba(0,0,0,.07);}
.gni-sticky-buy.show{transform:translateY(0);}
.gni-sticky-buy .gsb-info{display:flex;align-items:baseline;gap:12px;min-width:0;}
.gni-sticky-buy .gsb-name{font-size:14px;font-weight:600;color:var(--gni-text,#1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38vw;}
.gni-sticky-buy .gsb-price{font-size:15px;font-weight:800;color:var(--gni-accent,#e5006e);white-space:nowrap;}
.gni-sticky-buy .gsb-btns{display:flex;gap:8px;flex:0 0 auto;}
.gni-sticky-buy .gsb-cart,.gni-sticky-buy .gsb-buy{height:48px;padding:0 28px;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--gni-font);}
.gni-sticky-buy .gsb-cart{border:1px solid var(--gni-text,#1a1a1a);background:#fff;color:var(--gni-text,#1a1a1a);}
.gni-sticky-buy .gsb-cart:hover{background:var(--gni-surface,#f4f3f1);}
.gni-sticky-buy .gsb-buy{border:0;background:var(--gni-text,#1a1a1a);color:#fff;}
.gni-sticky-buy .gsb-buy:hover{background:var(--gni-accent,#e5006e);}
@media (max-width:1023px){
  .gni-sticky-buy{padding:9px 12px;gap:8px;}
  .gni-sticky-buy .gsb-info{display:none;}
  .gni-sticky-buy .gsb-btns{flex:1;}
  .gni-sticky-buy .gsb-cart,.gni-sticky-buy .gsb-buy{flex:1;padding:0;height:46px;}
}

/* ============================================================
   [2026-06-24] 상품상세 보정 — ※ PC(데스크톱) 전용. 모바일(≤1023px)은 오늘 수정 전 상태로 둠.
   (모바일은 별도 모바일 스킨을 쓰며, 오늘 시도한 모바일 보정은 사용자 요청으로 전부 제거/되돌림)
============================================================ */
@media (min-width:1024px){
  /* ① 탭 라벨 + 상품정보 내용 → 사이트 폰트 */
  #sit_tab .tab_tit button{font-family:var(--gni-font) !important;}
  #sit_inf, #sit_inf h2, #sit_inf h3, #sit_inf p, #sit_inf div, #sit_inf span, #sit_inf li, #sit_inf td, #sit_inf th,
  #sit_inf_explan, #sit_inf_explan *{font-family:var(--gni-font) !important;}
  /* ② 우측 중복 사이드 구매박스 제거 */
  #sit_buy, #sit_buy.fix{display:none !important;}
  /* ③ 하단 고정바: 우하단 챗봇 회피 */
  .gni-sticky-buy{padding-right:92px !important;}
  /* ④ 상품명 줄바꿈 */
  #sit_ov_wrap, #sit_ov{max-width:100% !important;}
  #sit_title{white-space:normal !important;word-break:keep-all;overflow-wrap:anywhere;}
  /* ⑤ 썸네일 줄: 가운데 정렬 유지 */
  #sit_pvi_thumb{display:flex !important;justify-content:center !important;}
  /* 이미지 마우스 드래그: 네이티브 이미지드래그 비활성화 → 스크롤 드래그 동작 */
  #sit_pvi_big{cursor:grab;}
  #sit_pvi_big.dragging{cursor:grabbing;}
  #sit_pvi_big a, #sit_pvi_big img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none;}
  /* ⑦ 탭 영역: 고정폭(928px·table-cell) 해제 → 풀폭+가운데정렬+밑줄 풀폭(끊김 해소) */
  /* [1.png] 상품정보 박스 폭을 상단 컨테이너(#sit_ov_wrap, max-width:1200)와 동일하게(1100→1200) */
  #sit_info{display:block !important;width:100% !important;max-width:1200px;margin:0 auto;box-sizing:border-box;}
  #sit_tab{display:block !important;width:100% !important;}
  #sit_tab .tab_tit{display:flex !important;justify-content:center !important;flex-wrap:wrap;border-bottom:1px solid var(--gni-line) !important;padding:0 !important;background:#fff;}
  #sit_tab .tab_tit:after{display:none !important;}
  #sit_tab .tab_tit li{float:none !important;display:block !important;}
  #sit_tab .tab_con{padding:24px 15px !important;}
  /* 상품정보 내용 가운데 정렬 */
  #sit_inf{text-align:center !important;}
  #sit_inf h2, #sit_inf h3, #sit_inf p, #sit_inf div, #sit_inf_explan, #sit_inf_explan *{text-align:center !important;}
  #sit_inf table, #sit_inf #sit_inf_open{margin-left:auto !important;margin-right:auto !important;}
}

/* ============================================================
   [2026-06-25] 모바일 상품상세 보정 (≤1023px) — 모바일 전용 스킨 대상
   ① [2.png] 바로구매 버튼 PC와 동일하게 검정
   ② [3.png] 이미지 슬라이드 하단 썸네일 줄(PC와 동일) 노출
============================================================ */
@media (max-width:1023px){
  /* ① 바로구매 버튼 → 검정(PC 동일). 모바일 스킨은 id=#sit_btn_buy(+class .btn_submit) */
  #sit_btn_buy{background:var(--gni-text,#1a1a1a) !important;border:0 !important;color:#fff !important;}
  #sit_btn_buy:hover{background:var(--gni-accent,#e5006e) !important;}
  /* ①-2 하단 고정 '구매하기' 풀폭 바도 검정(요청) */
  .btn_option_wr .btn_cart_op{background:var(--gni-text,#1a1a1a) !important;border:0 !important;color:#fff !important;}
  .btn_option_wr .btn_cart_op:hover{background:var(--gni-accent,#e5006e) !important;}
  /* ② 이미지 하단 썸네일 줄(가운데 정렬). 기본 #sit_pvi_thumb 스타일은 위 일반 규칙에서 적용됨 */
  #sit_pvi_thumb{justify-content:center !important;padding:12px 14px 0 !important;background:#fff;list-style:none;}
  #sit_pvi_thumb a{display:block;line-height:0;}
  #sit_pvi_thumb a.active img{border-color:var(--gni-text,#1a1a1a) !important;border-width:2px !important;}
}

/* ============================================================
   [2026-07-15] 주문서(orderform) reskin — TAIBE UI
   영카트 주문서 폼/JS 불변, 디자인만. PC(.sod_frm_pc) + 모바일(.sod_frm_mobile).
   default_shop.css / mobile_shop.css 기본 스킨을 특이성+!important로 오버라이드.
============================================================ */

/* ===================== PC 주문서 ===================== */
/* 2단 레이아웃: [상품리스트 풀폭] / [좌: 주문·배송자 입력] [우: 합계·결제] */
#sod_frm.sod_frm_pc{max-width:1200px;margin:0 auto !important;padding:clamp(18px,3vw,36px) clamp(14px,1.6vw,24px) 60px;font-family:var(--gni-font);color:var(--gni-text);display:grid;grid-template-columns:minmax(0,1fr) 350px;column-gap:32px;align-items:start;box-sizing:border-box;}
#sod_frm.sod_frm_pc::before{content:"주문서";grid-column:1 / -1;text-align:center;font-size:clamp(26px,5vw,40px);font-weight:800;letter-spacing:.08em;margin-bottom:26px;}
#sod_frm.sod_frm_pc>.od_prd_list{grid-column:1 / -1;margin:0 0 20px !important;padding:0 24px !important;box-sizing:border-box;}
#sod_frm.sod_frm_pc>.sod_left{grid-column:1;float:none !important;width:auto !important;margin:0 !important;display:block !important;background:#fff !important;border:1px solid var(--gni-line) !important;border-radius:16px !important;padding:12px 26px 26px !important;box-shadow:0 4px 20px rgba(0,0,0,.05) !important;box-sizing:border-box;}
#sod_frm.sod_frm_pc>.sod_right{grid-column:2;float:none !important;width:auto !important;height:auto !important;display:block !important;position:sticky;top:20px;background:#fff;border:1px solid var(--gni-line);border-radius:16px;padding:22px 22px 22px;box-sizing:border-box;box-shadow:0 4px 20px rgba(0,0,0,.05);}
#sod_frm.sod_frm_pc>.sod_right::before{content:"주문 요약";display:block;font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--gni-text);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--gni-text);}
#sod_frm.sod_frm_pc p{margin:0 0 8px;}

/* 주문상품 리스트 테이블 */
#sod_frm.sod_frm_pc .od_prd_list{border:0 !important;}
#sod_frm.sod_frm_pc #sod_list{width:100% !important;border-collapse:collapse !important;border-top:2px solid var(--gni-text) !important;}
#sod_frm.sod_frm_pc #sod_list thead th{font-size:11px !important;letter-spacing:.08em;text-transform:uppercase;color:var(--gni-text-sub) !important;font-weight:600 !important;padding:14px 8px !important;border:0 !important;border-bottom:1px solid var(--gni-line) !important;background:#fff !important;text-align:center !important;}
#sod_frm.sod_frm_pc #sod_list tbody td{padding:16px 8px !important;border:0 !important;border-bottom:1px solid var(--gni-line) !important;font-size:13.5px !important;text-align:center !important;vertical-align:middle !important;color:var(--gni-text) !important;background:#fff !important;}
#sod_frm.sod_frm_pc #sod_list .td_prd{text-align:left !important;position:static !important;padding-left:8px !important;min-height:0 !important;}
#sod_frm.sod_frm_pc #sod_list .sod_img{position:static !important;top:auto !important;left:auto !important;display:inline-block;vertical-align:middle;margin-right:14px;float:none !important;}
#sod_frm.sod_frm_pc #sod_list .sod_img img{width:70px !important;height:70px !important;object-fit:cover;border:1px solid var(--gni-line);background:var(--gni-surface);vertical-align:middle;}
#sod_frm.sod_frm_pc #sod_list .sod_name{position:static !important;min-height:0 !important;display:inline-block;vertical-align:middle;max-width:calc(100% - 110px);}
#sod_frm.sod_frm_pc #sod_list .sod_name b{font-weight:500;font-size:14px;color:var(--gni-text);}
#sod_frm.sod_frm_pc #sod_list .sod_opt{font-size:12px;color:var(--gni-text-sub);margin-top:6px;}
#sod_frm.sod_frm_pc .cp_btn{margin-top:8px;font-size:11px;letter-spacing:.02em;border:1px solid var(--gni-line) !important;background:#fff !important;color:var(--gni-text) !important;padding:6px 12px !important;cursor:pointer;border-radius:4px;height:auto !important;}
#sod_frm.sod_frm_pc .cp_btn:hover{border-color:var(--gni-text) !important;}
#sod_frm.sod_frm_pc .cp_cancel{margin-left:4px;font-size:11px;border:1px solid var(--gni-line) !important;background:#fff !important;color:var(--gni-text-sub) !important;padding:6px 10px !important;border-radius:4px;cursor:pointer;}

/* 섹션 제목 (주문하시는 분 / 받으시는 분 / 결제정보) */
#sod_frm.sod_frm_pc #sod_frm_orderer>h2,#sod_frm.sod_frm_pc #sod_frm_taker>h2{position:static !important;overflow:visible !important;width:auto !important;height:auto !important;font-size:17px !important;line-height:1.3 !important;font-weight:700 !important;letter-spacing:-.01em;color:var(--gni-text) !important;margin:36px 0 18px !important;padding:0 0 12px 0 !important;border:0 !important;border-bottom:2px solid var(--gni-text) !important;background:none !important;}
#sod_frm.sod_frm_pc #sod_frm_orderer>h2{margin-top:4px !important;}
/* 우측 카드는 자체 '주문 요약' 타이틀(::before) 사용 → 결제정보 h2 숨김 */
#sod_frm.sod_frm_pc #sod_frm_pay>h2{display:none !important;}
#sod_frm.sod_frm_pc #sod_frm_pay{margin:0 !important;background:none !important;border:0 !important;}
/* 섹션 기본 회색 사각 테두리 제거 (카드 안 이중테두리 방지) */
#sod_frm.sod_frm_pc #sod_frm_orderer,#sod_frm.sod_frm_pc #sod_frm_taker{border:0 !important;background:none !important;box-shadow:none !important;}

/* 입력 폼 (tbl_frm01) — 라벨 상단 + 인풋 풀폭 스택형 재설계 */
#sod_frm.sod_frm_pc .tbl_frm01{border:0 !important;padding:0 !important;margin:0 !important;}
#sod_frm.sod_frm_pc .tbl_frm01 table,#sod_frm.sod_frm_pc .tbl_frm01 tbody,#sod_frm.sod_frm_pc .tbl_frm01 tr,#sod_frm.sod_frm_pc .tbl_frm01 th,#sod_frm.sod_frm_pc .tbl_frm01 td{display:block !important;width:100% !important;}
#sod_frm.sod_frm_pc .tbl_frm01 tr{padding:12px 0 !important;border:0 !important;}
#sod_frm.sod_frm_pc .tbl_frm01 tr:last-child{padding-bottom:4px !important;}
#sod_frm.sod_frm_pc .tbl_frm01 th{text-align:left !important;padding:0 0 9px 0 !important;font-size:12px !important;font-weight:600 !important;letter-spacing:.03em;color:var(--gni-text-sub) !important;line-height:1.4 !important;background:none !important;vertical-align:baseline !important;}
#sod_frm.sod_frm_pc .tbl_frm01 td{padding:0 !important;line-height:1.6 !important;background:none !important;vertical-align:baseline !important;}
#sod_frm.sod_frm_pc .frm_input{width:100% !important;max-width:100% !important;height:44px !important;border:1px solid var(--gni-line) !important;border-radius:12px !important;padding:0 16px !important;font-size:14px !important;font-family:var(--gni-font);background-color:#fff !important;box-sizing:border-box;margin:0;line-height:normal !important;color:var(--gni-text);transition:background-color .12s,border-color .12s,box-shadow .12s;}
/* 배송 문구 등 드롭다운(select) */
#sod_frm.sod_frm_pc select.frm_input,#sod_frm.sod_frm_pc .frm_select{-webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;width:100% !important;max-width:100% !important;display:block !important;height:44px !important;min-height:0 !important;padding-right:42px !important;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8'%3E%3Cpath d='M1 1l5.5 5.5L12 1' stroke='%23999' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 16px center !important;}
#sod_frm.sod_frm_pc select.frm_input:focus,#sod_frm.sod_frm_pc .frm_select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8'%3E%3Cpath d='M1 1l5.5 5.5L12 1' stroke='%231a1a1a' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;}
#sod_frm.sod_frm_pc .frm_input:focus{outline:none;background-color:#fff !important;border-color:var(--gni-text) !important;box-shadow:0 0 0 3px rgba(26,26,26,.07) !important;}
#sod_frm.sod_frm_pc .frm_input::placeholder{color:#adaba7;}
#sod_frm.sod_frm_pc .required{background-position:right 14px top 12px !important;}
#sod_frm.sod_frm_pc #od_zip,#sod_frm.sod_frm_pc #od_b_zip{width:150px !important;max-width:150px !important;display:inline-block;vertical-align:middle;}
#sod_frm.sod_frm_pc .frm_address{width:100% !important;max-width:100% !important;display:block;margin-top:8px !important;}
#sod_frm.sod_frm_pc textarea{width:100% !important;max-width:100%;min-height:108px;border:1px solid var(--gni-line) !important;border-radius:14px;padding:14px 18px !important;font-family:var(--gni-font);background-color:#fff !important;box-sizing:border-box;font-size:14px;transition:background-color .12s,border-color .12s,box-shadow .12s;}
#sod_frm.sod_frm_pc textarea:focus{outline:none;background-color:#fff !important;border-color:var(--gni-text) !important;box-shadow:0 0 0 3px rgba(26,26,26,.07) !important;}
#sod_frm.sod_frm_pc .frm_info,#sod_frm.sod_frm_pc .required{display:inline-block;font-size:12px;color:var(--gni-text-sub);margin-bottom:6px;}
/* 주소검색 버튼 */
#sod_frm.sod_frm_pc .btn_address{height:44px !important;width:auto !important;padding:0 18px !important;border:1px solid var(--gni-text) !important;background:var(--gni-text) !important;color:#fff !important;font-family:var(--gni-font);font-size:13px;letter-spacing:.02em;border-radius:12px !important;cursor:pointer;margin-left:8px;vertical-align:middle;transition:background .12s;}
#sod_frm.sod_frm_pc .btn_address:hover{background:var(--gni-accent) !important;border-color:var(--gni-accent) !important;}
/* 배송지 선택 박스 */
#sod_frm.sod_frm_pc .order_choice_place{background:#fff !important;border:1px solid var(--gni-line) !important;border-radius:14px;padding:16px 18px !important;line-height:2.2;}
#sod_frm.sod_frm_pc .order_choice_place label{margin:0 16px 0 4px;cursor:pointer;font-size:13px;}
#sod_frm.sod_frm_pc .btn_frmline{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--gni-text) !important;background:#fff !important;color:var(--gni-text) !important;font-size:12px;border-radius:12px !important;cursor:pointer;text-decoration:none;line-height:1;white-space:nowrap;}
/* 배송지목록 버튼: 배송지선택 박스 안 세로 가운데 정렬 */
#sod_frm.sod_frm_pc .order_choice_place .btn_frmline,#sod_frm.sod_frm_pc #order_address{position:absolute !important;top:50% !important;bottom:auto !important;right:16px !important;transform:translateY(-50%) !important;}
#sod_frm.sod_frm_pc .btn_frmline:hover{background:var(--gni-surface) !important;}

/* 우측 합계 박스 */
#sod_frm.sod_frm_pc #sod_bsk_tot{border:0 !important;background:none !important;padding:0 !important;margin:0 !important;}
#sod_frm.sod_frm_pc #sod_bsk_tot ul{list-style:none;margin:0 !important;padding:0 !important;display:block !important;gap:0 !important;}
#sod_frm.sod_frm_pc #sod_bsk_tot li{float:none !important;width:auto !important;height:auto !important;display:flex !important;align-items:baseline;justify-content:flex-start;padding:8px 0 !important;border:0 !important;background:none !important;text-align:left !important;font-size:13.5px;color:var(--gni-text-sub);}
#sod_frm.sod_frm_pc #sod_bsk_tot li span{display:inline !important;float:none !important;margin:0 !important;flex:1 1 auto;color:var(--gni-text-sub) !important;font-weight:400 !important;}
#sod_frm.sod_frm_pc #sod_bsk_tot li strong{color:var(--gni-text);font-weight:600;font-size:14px;margin-left:6px;}
#sod_frm.sod_frm_pc #sod_bsk_tot li:before{display:none !important;content:none !important;}
/* 총계 줄은 숨김 → 하단 '총 주문금액'(#od_tot_price)으로 최종 금액 단일화(중복 제거) */
#sod_frm.sod_frm_pc #sod_bsk_tot .sod_bsk_cnt{display:none !important;}

/* 결제정보 표 */
#sod_frm.sod_frm_pc #sod_frm_pay{margin:0 !important;background:none !important;border:0 !important;}
#sod_frm.sod_frm_pc .pay_tbl{border:0 !important;}
#sod_frm.sod_frm_pc .pay_tbl table{width:100%;}
#sod_frm.sod_frm_pc .pay_tbl th{text-align:left !important;padding:7px 0 !important;font-size:13px !important;color:var(--gni-text-sub) !important;font-weight:400 !important;background:none !important;border:0 !important;width:40% !important;vertical-align:top;}
#sod_frm.sod_frm_pc .pay_tbl td{text-align:right !important;padding:7px 0 !important;font-size:13px;color:var(--gni-text);background:none !important;border:0 !important;line-height:1.5;}
#sod_frm.sod_frm_pc .pay_tbl td br+*{font-size:11px;color:var(--gni-text-sub);}
/* 총 주문금액 → 카드 하단 최종 결제금액 강조 */
#sod_frm.sod_frm_pc #od_tot_price{background:var(--gni-surface) !important;border:0 !important;border-radius:12px !important;padding:18px 18px !important;margin:16px 0 0 !important;display:flex;align-items:center;justify-content:flex-start;line-height:1.2 !important;}
#sod_frm.sod_frm_pc #od_tot_price span{float:none !important;flex:1 1 auto;font-size:15px;font-weight:700;color:var(--gni-text);}
#sod_frm.sod_frm_pc #od_tot_price strong{font-size:28px !important;color:var(--gni-accent) !important;font-weight:800;margin-left:8px;letter-spacing:-.01em;}
#sod_frm.sod_frm_pc #sod_frm_pt_alert{font-size:12px;color:var(--gni-text-sub) !important;margin:0 0 12px !important;line-height:1.6;}

/* 결제수단 선택 */
#sod_frm.sod_frm_pc .od_pay_buttons_el{border:0 !important;background:none !important;padding:0 !important;margin:24px 0 0 !important;}
#sod_frm.sod_frm_pc #od_pay_sl h3,#sod_frm.sod_frm_pc .od_pay_buttons_el h3{font-size:14px !important;font-weight:700;margin:0 0 12px !important;letter-spacing:.02em;color:var(--gni-text);}
#sod_frm.sod_frm_pc #sod_frm_paysel{border:0;padding:0;margin:0;}
#sod_frm.sod_frm_pc #od_pay_sl .lb_icon{display:flex !important;float:none !important;width:100% !important;box-sizing:border-box;align-items:center;min-height:54px;height:auto !important;margin:0 0 8px !important;padding:0 16px 0 54px !important;border:1px solid var(--gni-line) !important;border-radius:14px !important;background-color:#fff !important;background-repeat:no-repeat !important;background-position:18px 50% !important;font-size:14px;color:var(--gni-text);transition:border-color .12s,background-color .12s;}
#sod_frm.sod_frm_pc #od_pay_sl .lb_icon:hover{border-color:var(--gni-text-sub) !important;}
#sod_frm.sod_frm_pc #od_pay_sl input[type="radio"]:checked+.lb_icon{border-color:var(--gni-text) !important;background-color:var(--gni-surface) !important;color:var(--gni-text) !important;box-shadow:inset 0 0 0 1px var(--gni-text);}
/* 포인트 사용 */
#sod_frm.sod_frm_pc .sod_frm_point{border:1px solid var(--gni-line) !important;border-radius:4px;margin-top:14px !important;padding:14px 16px !important;}
#sod_frm.sod_frm_pc .sod_frm_point div{background:none !important;padding:0 !important;text-align:left !important;}
#sod_frm.sod_frm_pc .sod_frm_point label{font-weight:600;font-size:13px;color:var(--gni-text);}
#sod_frm.sod_frm_pc #od_temp_point{height:40px !important;border:1px solid var(--gni-line) !important;border-radius:4px;padding:0 10px !important;width:120px;text-align:right;margin-left:6px;}
#sod_frm.sod_frm_pc #sod_frm_pt{border-top:1px solid var(--gni-line) !important;margin-top:12px;padding:12px 0 0 !important;font-size:12px;color:var(--gni-text-sub);}
#sod_frm.sod_frm_pc #sod_frm_pt strong{color:var(--gni-text);}
/* 무통장 입금 계좌 */
#sod_frm.sod_frm_pc #settle_bank{border:1px solid var(--gni-line) !important;border-radius:4px;padding:14px 16px !important;margin-top:10px;background:#fff !important;}
#sod_frm.sod_frm_pc #settle_bank select,#sod_frm.sod_frm_pc #settle_bank input{height:40px !important;border:1px solid var(--gni-line) !important;border-radius:4px;padding:0 10px !important;}

/* 주문하기 / 취소 버튼 */
#sod_frm.sod_frm_pc #display_pay_button{margin-top:22px !important;padding-top:22px !important;border-top:1px solid var(--gni-line) !important;display:flex !important;flex-direction:column;gap:10px;}
#sod_frm.sod_frm_pc .btn_submit{display:block;width:100%;height:58px !important;border:0 !important;background:var(--gni-text) !important;color:#fff !important;font-family:var(--gni-font);font-size:16px !important;font-weight:700;letter-spacing:.06em;border-radius:14px !important;cursor:pointer;transition:background .12s;}
#sod_frm.sod_frm_pc .btn_submit:hover{background:var(--gni-accent) !important;}
#sod_frm.sod_frm_pc .btn01{display:flex;align-items:center;justify-content:center;width:100%;height:50px !important;border:1px solid var(--gni-line) !important;background:#fff !important;color:var(--gni-text-sub) !important;font-size:13px;letter-spacing:.04em;border-radius:14px !important;text-decoration:none;box-sizing:border-box;}
#sod_frm.sod_frm_pc .btn01:hover{border-color:var(--gni-text) !important;color:var(--gni-text) !important;}
#sod_frm.sod_frm_pc #display_pay_process{text-align:center;padding:20px;color:var(--gni-text-sub);}

/* PC 주문서 좁은 폭(태블릿) → 1단 스택 */
@media (max-width:1023px){
  #sod_frm.sod_frm_pc{grid-template-columns:minmax(0,1fr);padding-left:24px;padding-right:24px;}
  #sod_frm.sod_frm_pc>.sod_left,#sod_frm.sod_frm_pc>.sod_right{grid-column:1 !important;}
  #sod_frm.sod_frm_pc>.sod_right{position:static !important;margin-top:16px;}
  #sod_frm.sod_frm_pc .od_prd_list{overflow-x:auto;}
}

/* ===================== 모바일 주문서 ===================== */
#sod_approval_frm{max-width:720px;margin:0 auto;padding:14px 14px 0;font-family:var(--gni-font);color:var(--gni-text);}
#sod_approval_frm::before{content:"주문서";display:block;text-align:center;font-size:26px;font-weight:800;letter-spacing:.06em;margin:6px 0 20px;}
#sod_frm.sod_frm_mobile{max-width:720px;margin:0 auto;padding:0 14px 44px;font-family:var(--gni-font);color:var(--gni-text);}
/* 상품 리스트 */
#sod_approval_frm .sod_list{border-top:2px solid var(--gni-text);margin:0;padding:0;}
#sod_approval_frm .sod_li{list-style:none;border-bottom:1px solid var(--gni-line) !important;padding:16px 4px !important;background:none !important;}
#sod_approval_frm .li_name b,#sod_approval_frm .li_name strong{font-weight:600;font-size:14px;color:var(--gni-text);}
#sod_approval_frm .li_op_wr{display:flex;gap:12px;align-items:flex-start;margin-top:10px;}
#sod_approval_frm .total_img img{width:72px;height:72px;object-fit:cover;border:1px solid var(--gni-line);background:var(--gni-surface);}
#sod_approval_frm .sod_opt{font-size:12px;color:var(--gni-text-sub);flex:1;}
#sod_approval_frm .li_prqty{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px;font-size:12.5px;color:var(--gni-text-sub);}
#sod_approval_frm .li_prqty .li_prqty_sp span{color:var(--gni-text-sub);}
#sod_approval_frm .li_prqty strong{color:var(--gni-text);font-weight:600;}
#sod_approval_frm .total_price{margin-top:10px !important;font-size:13px;text-align:right;color:var(--gni-text-sub);}
#sod_approval_frm .total_price strong{color:var(--gni-accent);font-weight:800;font-size:15px;margin-left:4px;}
#sod_approval_frm .cp_btn{font-size:11px;border:1px solid var(--gni-line) !important;background:#fff !important;color:var(--gni-text) !important;padding:6px 12px !important;border-radius:4px;margin-top:8px;}
/* 합계 dl */
#sod_approval_frm .sod_ta_wr{margin-top:18px;}
#sod_approval_frm #m_sod_bsk_tot{border:1px solid var(--gni-line) !important;background:var(--gni-surface) !important;padding:16px 18px !important;margin:0 !important;overflow:hidden;}
#sod_approval_frm #m_sod_bsk_tot dt{float:left;clear:left;width:50% !important;font-size:13px;color:var(--gni-text-sub) !important;padding:6px 0 !important;margin:0;font-weight:400 !important;background:none !important;text-align:left !important;}
#sod_approval_frm #m_sod_bsk_tot dd{float:right;width:50% !important;text-align:right !important;font-size:13px;padding:6px 0 !important;margin:0 !important;background:none !important;}
#sod_approval_frm #m_sod_bsk_tot dd strong{font-weight:700;color:var(--gni-text);}
#sod_approval_frm #m_sod_bsk_tot dt.sod_bsk_cnt,#sod_approval_frm #m_sod_bsk_tot dd.sod_bsk_cnt{border-top:1px solid var(--gni-line) !important;margin-top:6px;padding-top:12px !important;}
#sod_approval_frm #m_sod_bsk_tot dt.sod_bsk_cnt{font-size:14px;color:var(--gni-text) !important;font-weight:700 !important;}
#sod_approval_frm #m_sod_bsk_tot dd.sod_bsk_cnt strong{color:var(--gni-accent) !important;font-size:20px;font-weight:800;}
/* 섹션 제목 */
#sod_frm.sod_frm_mobile #sod_frm_orderer>h2,#sod_frm.sod_frm_mobile #sod_frm_taker>h2,#sod_frm.sod_frm_mobile #sod_frm_pay>h2{position:static !important;overflow:visible !important;width:auto !important;height:auto !important;font-size:15px !important;line-height:1.3 !important;font-weight:700 !important;color:var(--gni-text) !important;margin:28px 0 12px !important;padding:0 0 10px !important;border:0 !important;border-bottom:1px solid var(--gni-text) !important;background:none !important;}
/* 입력 필드 (odf_list) */
#sod_frm.sod_frm_mobile .odf_list ul{list-style:none;margin:0;padding:0;}
#sod_frm.sod_frm_mobile .odf_list>ul>li{padding:12px 0 !important;border-bottom:1px solid var(--gni-line) !important;background:none !important;}
#sod_frm.sod_frm_mobile .odf_list label,#sod_frm.sod_frm_mobile .odf_list>ul>li>strong{display:block;font-size:12px;font-weight:600;color:var(--gni-text-sub);margin-bottom:8px;letter-spacing:.02em;}
#sod_frm.sod_frm_mobile .odf_list .ad_default,#sod_frm.sod_frm_mobile .order_choice_place label{display:inline;color:var(--gni-text);font-weight:400;}
#sod_frm.sod_frm_mobile .frm_input{width:100% !important;height:46px !important;border:1px solid var(--gni-line) !important;border-radius:4px !important;padding:0 12px !important;font-size:14px !important;font-family:var(--gni-font);box-sizing:border-box;margin:3px 0;background:#fff;color:var(--gni-text);}
#sod_frm.sod_frm_mobile .frm_input:focus{outline:none;border-color:var(--gni-text) !important;box-shadow:none !important;}
#sod_frm.sod_frm_mobile textarea{width:100% !important;min-height:92px;border:1px solid var(--gni-line) !important;border-radius:4px;padding:12px !important;box-sizing:border-box;font-family:var(--gni-font);}
#sod_frm.sod_frm_mobile .add_num{display:flex;gap:8px;align-items:center;}
#sod_frm.sod_frm_mobile .add_num .frm_input{width:auto !important;flex:1;}
/* [2026-07-19] 주소검색 버튼: 우편번호 입력박스(46px)보다 작게(40px)+box-sizing → 입력 높이 안에 들어오게(삐져나옴 방지) */
#sod_frm.sod_frm_mobile .btn_frmline,#sod_frm.sod_frm_mobile .btn_addsch{position:static !important;height:40px !important;box-sizing:border-box !important;align-self:center;flex:0 0 auto;padding:0 14px !important;border:1px solid var(--gni-text) !important;background:#fff !important;color:var(--gni-text) !important;border-radius:4px !important;font-size:12px;white-space:nowrap;font-family:var(--gni-font);cursor:pointer;line-height:1;}
#sod_frm.sod_frm_mobile .add_num{align-items:center;}
#sod_frm.sod_frm_mobile .add_num .frm_input{margin:0 !important;}
/* [2026-07-19] 배송지선택: 3열/inline 라디오 → 1열 개별 박스 + 선택 시 색상변경 */
/* 배송지선택 라벨이 상단선/좌측에 붙어 답답 → 박스 내부 여백 + 라벨 아래여백 */
#sod_frm.sod_frm_mobile .odf_list>ul>li.dlv_slt{margin-top:6px !important;padding:16px 14px 16px !important;}
#sod_frm.sod_frm_mobile .dlv_slt>strong{margin:0 0 14px !important;padding-left:2px;}
#sod_frm.sod_frm_mobile .dlv_slt>div{background:none !important;border:0 !important;border-radius:0;padding:0;line-height:normal;}
#sod_frm.sod_frm_mobile .dlv_slt>div br{display:none;}
#sod_frm.sod_frm_mobile .dlv_slt>div input[type=radio]{position:absolute !important;opacity:0;width:0;height:0;pointer-events:none;}
#sod_frm.sod_frm_mobile .dlv_slt>div label{display:block !important;width:100%;box-sizing:border-box;margin:8px 0 0 !important;padding:14px 16px !important;border:1px solid var(--gni-line);border-radius:4px;background:#fff;color:var(--gni-text) !important;font-weight:600 !important;font-size:14px !important;letter-spacing:0;cursor:pointer;line-height:1.3;transition:.12s;}
#sod_frm.sod_frm_mobile .dlv_slt>div label:first-of-type{margin-top:0 !important;}
#sod_frm.sod_frm_mobile .dlv_slt>div input:checked+label{border-color:var(--gni-accent) !important;border-width:1.5px;color:var(--gni-accent) !important;background:#fff !important;font-weight:700 !important;}
#sod_frm.sod_frm_mobile .dlv_slt>div #order_address{position:static !important;display:flex !important;align-items:center !important;justify-content:center !important;width:max-content;max-width:100%;height:auto !important;line-height:normal !important;margin:14px auto 4px !important;padding:11px 18px !important;border:1px solid var(--gni-text) !important;border-radius:4px;background:#fff;color:var(--gni-text) !important;font-weight:600 !important;font-size:12px;text-decoration:none;text-align:center;box-sizing:border-box;}
/* 결제정보 표 */
#sod_frm.sod_frm_mobile .odf_tbl table{width:100%;}
#sod_frm.sod_frm_mobile .odf_tbl th{text-align:left !important;font-size:12px !important;color:var(--gni-text-sub) !important;font-weight:600 !important;padding:11px 0 !important;border:0 !important;border-bottom:1px solid var(--gni-line) !important;background:none !important;}
#sod_frm.sod_frm_mobile .odf_tbl td{text-align:right !important;font-size:13px;padding:11px 0 !important;border:0 !important;border-bottom:1px solid var(--gni-line) !important;background:none !important;}
#sod_frm.sod_frm_mobile #od_tot_price{color:var(--gni-accent) !important;font-weight:800;font-size:16px;}
/* [2026-07-19] 포인트 안내(빨간 박스) → 텍스트 검정 + 배경 중립(가독성) */
#sod_frm.sod_frm_mobile #sod_frm_pt_alert{font-size:12px;color:var(--gni-text) !important;background:var(--gni-surface) !important;border:1px solid var(--gni-line) !important;border-radius:4px;margin:12px 0 !important;padding:11px 13px !important;line-height:1.6;}
#sod_frm.sod_frm_mobile #sod_frm_pt_alert strong{color:var(--gni-text) !important;}
#sod_frm.sod_frm_mobile .cp_btn1{height:40px;padding:0 14px;border:1px solid var(--gni-text) !important;background:#fff !important;color:var(--gni-text) !important;border-radius:4px;font-size:12px;cursor:pointer;}
/* 결제수단 (2열 그리드) */
/* [2026-07-19] 결제수단 4개: grid stretch 미적용으로 셀 안 채워지던 문제 → flex 2열로 확실히 채움(겹침 방지) */
/* [2026-07-19] 결제섹션/결제수단 컨테이너의 잔여 테두리·배경 제거(결제수단 뒤 '흰색 박스' 노출 방지) */
#sod_frm.sod_frm_mobile #sod_frm_pay{border:0 !important;background:none !important;}
#sod_frm.sod_frm_mobile #m_sod_frm_paysel{border:0 !important;background:none !important;padding:0 !important;}
#sod_frm.sod_frm_mobile #m_sod_frm_paysel ul{list-style:none;margin:12px 0 0 !important;padding:0 !important;border:0 !important;background:none !important;display:flex;flex-wrap:wrap;gap:14px !important;}
#sod_frm.sod_frm_mobile #m_sod_frm_paysel,#sod_frm.sod_frm_mobile #m_sod_frm_paysel h3{border:0 !important;background:none !important;padding:0 !important;margin:0 !important;}
#sod_frm.sod_frm_mobile #m_sod_frm_paysel li{margin:0 !important;padding:0 !important;line-height:normal !important;flex:0 0 calc(50% - 7px) !important;width:calc(50% - 7px) !important;max-width:calc(50% - 7px) !important;box-sizing:border-box !important;min-width:0;float:none !important;list-style:none;}
#sod_frm.sod_frm_mobile #m_sod_frm_paysel .lb_icon{display:flex !important;align-items:center;justify-content:center;width:100% !important;min-height:52px;box-sizing:border-box;border:1px solid var(--gni-line) !important;border-radius:4px !important;background-color:#fff !important;background-image:none !important;font-size:14px;color:var(--gni-text);cursor:pointer;padding:0 10px !important;text-align:center;margin:0 !important;white-space:nowrap;}
#sod_frm.sod_frm_mobile #m_sod_frm_paysel input[type="radio"]{position:absolute;opacity:0;width:0;height:0;}
#sod_frm.sod_frm_mobile #m_sod_frm_paysel input[type="radio"]:checked+.lb_icon{border-color:var(--gni-text) !important;background-color:var(--gni-surface) !important;font-weight:700;}
/* 포인트/무통장 */
#sod_frm.sod_frm_mobile .sod_frm_point{border:1px solid var(--gni-line) !important;border-radius:4px;padding:14px !important;margin-top:12px;}
#sod_frm.sod_frm_mobile .sod_frm_point label{font-weight:600;font-size:13px;color:var(--gni-text);}
#sod_frm.sod_frm_mobile #od_temp_point{height:42px !important;border:1px solid var(--gni-line) !important;border-radius:4px;padding:0 10px !important;text-align:right;}
#sod_frm.sod_frm_mobile #sod_frm_pt_info{margin-top:10px;font-size:12px;color:var(--gni-text-sub);}
#sod_frm.sod_frm_mobile #settle_bank{border:1px solid var(--gni-line) !important;border-radius:4px;padding:14px !important;margin-top:10px;}
#sod_frm.sod_frm_mobile #settle_bank select,#sod_frm.sod_frm_mobile #settle_bank input{height:42px !important;border:1px solid var(--gni-line) !important;border-radius:4px;padding:0 10px !important;}
/* 주문하기 / 취소 */
#sod_frm.sod_frm_mobile #display_pay_button{margin-top:22px !important;display:flex;flex-direction:column;gap:10px;}
#sod_frm.sod_frm_mobile .btn_submit{width:100% !important;height:54px !important;border:0 !important;background:var(--gni-text) !important;color:#fff !important;font-size:15px !important;font-weight:700;border-radius:4px !important;font-family:var(--gni-font);letter-spacing:.04em;cursor:pointer;}
#sod_frm.sod_frm_mobile .btn_submit:hover{background:var(--gni-accent) !important;}
#sod_frm.sod_frm_mobile #show_req_btn,#sod_frm.sod_frm_mobile #show_pay_btn{display:block;}
#sod_frm.sod_frm_mobile .btn_cancel{display:flex;align-items:center;justify-content:center;width:100% !important;height:48px !important;border:1px solid var(--gni-line) !important;background:#fff !important;color:var(--gni-text-sub) !important;border-radius:4px !important;text-decoration:none;font-size:13px;box-sizing:border-box;}
#sod_frm.sod_frm_mobile .btn_cancel:hover{border-color:var(--gni-text) !important;color:var(--gni-text) !important;}

/* [2026-07-30] 네이버페이 결제형 - 공식 배지 로고 + 텍스트 표기 (오버라이드) */
#sod_frm.sod_frm_pc #od_pay_sl .naverpay_icon.lb_icon{background:url('../img/npay_badge.svg') no-repeat 18px 50% #fff !important;background-size:42px auto !important;padding-left:70px !important;overflow:visible !important;text-indent:0 !important}
#sod_frm.sod_frm_mobile #od_pay_sl .naverpay_icon.lb_icon,
.sod_frm_mobile #m_sod_frm_paysel .naverpay_icon{background:url('../img/npay_badge.svg') no-repeat 12px 50% #fff !important;background-size:36px auto !important;padding-left:56px !important;overflow:visible !important;text-indent:0 !important;width:auto !important}
