/* ============================================================
   그냥일상 공통 크롬 (영카트/그누보드 코어 페이지 주입용)
   - 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;}
.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);}
.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:1fr 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,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;} }
