/* 96PLACE 디자인 테마 (F-22)
   A 미니멀 갤러리 = 기본(style.css 그대로)
   B 인디고 나이트 = [data-theme="b"]  진한 남색 바탕 · 금색 포인트 · 명조 제목
   C 아틀리에 카드 = [data-theme="c"]  연회색 바탕 · 흰 둥근 카드 · 화면 아래 고정 버튼
   <html data-theme> 는 고객 화면 전체, A-02 미리보기·A-07 견본에서는 감싸는 상자에 붙입니다. */

/* 테마 C 전용 요소는 기본(A·B)에서 숨김 */
.pd-tags, .pd-model, .pd-bar, .pd-fab-ico, .pd-fab-val { display: none; }
.pd-fab { display: contents; }

/* =========================================================
   B 인디고 나이트
   ========================================================= */
[data-theme="b"] {
  --paper: #111a2c; --surface: #16213a; --tint: #1a2640; --ink: #eef1f6; --navy: #d4bc92;
  --muted: #9ba7bf; --slate: #9ba7bf; --line: #26324d; --accent: #d4bc92; --accent-soft: #22304d; --gold: #d4bc92;
  --sale: #e38a73;
  --serif: 'Noto Serif KR', 'Noto Serif', 'Nanum Myeongjo', 'Times New Roman', serif;
  background: var(--paper); color: var(--ink); color-scheme: dark;
}
[data-theme="b"] body { background: var(--paper); }
/* 금색 바탕 위 글자는 남색 */
[data-theme="b"] .chip.on, [data-theme="b"] .lb-chip, [data-theme="b"] .lb-tab.on small, [data-theme="b"] .pd-act-ss,
[data-theme="b"] .btn:not(.ghost):not(.danger), [data-theme="b"] .lb-cta { color: #111a2c; }
[data-theme="b"] .pd-act-ss:hover { background: #e2cda6; }
[data-theme="b"] .lb-view[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); }
[data-theme="b"] .lb-view[aria-pressed="true"] svg { stroke: #111a2c; }
[data-theme="b"] .rank-badge { background: var(--gold); color: #111a2c; }
[data-theme="b"] .badge { background: var(--gold); color: #111a2c; }
[data-theme="b"] .badge.sale { background: var(--sale); color: #111a2c; }
[data-theme="b"] input[type=search], [data-theme="b"] input[type=text] { background: var(--tint); border-color: var(--line); color: var(--ink); }
[data-theme="b"] .lb-search { background: var(--tint) !important; }
[data-theme="b"] .foot-logo { color: var(--gold); }
[data-theme="b"] .lang-menu { background: #16213a; border-color: var(--line); }
[data-theme="b"] .lang-menu a { color: var(--ink) !important; }
[data-theme="b"] .lang-menu a:hover { background: #1f2c48; }
[data-theme="b"] .lang-menu a[aria-current] { color: var(--gold) !important; }
[data-theme="b"] .kk-sheet { background: #16213a; color: var(--ink); }
/* 메인(C-01) */
[data-theme="b"] .lb-title, [data-theme="b"] .lb-h { font-family: var(--serif); font-weight: 600; letter-spacing: -0.01em; }
[data-theme="b"] .lb-label { color: var(--gold); }
[data-theme="b"] .lb-cta { background: var(--gold); border-radius: 0; }
[data-theme="b"] .lb-cta:hover { background: #e2cda6; }
[data-theme="b"] .lb-tab-ko { font-family: var(--serif); font-weight: 600; }
[data-theme="b"] .lb-tab.on .lb-tab-en { color: var(--gold); }
[data-theme="b"] .lb-tab-bar { background: var(--gold); }
[data-theme="b"] .lb-tabs:has(.lb-tab.sale.on) .lb-tab-bar { background: var(--sale); }
[data-theme="b"] .lb-hot-tab[aria-selected="true"] { color: var(--gold); border-bottom-color: var(--gold); }
[data-theme="b"] .lb-fit.on .lb-fit-ico { background: var(--gold); color: #111a2c; }
[data-theme="b"] .lb-fit-ico { color: var(--gold); }
[data-theme="b"] .card .thumb, [data-theme="b"] .lb-hot-img { background-color: #1a2640; }
[data-theme="b"] .card .name, [data-theme="b"] .lb-hot-name { font-family: var(--serif); }
[data-theme="b"] .price .now { color: var(--gold); }
/* 상품 상세(C-02) */
[data-theme="b"] .pd-head { justify-items: center; text-align: center; gap: 12px; }
[data-theme="b"] .pd-sale { color: var(--gold); letter-spacing: .3em; }
[data-theme="b"] .pd-name { font-family: var(--serif); font-weight: 600; font-size: 27px; letter-spacing: -0.01em; }
[data-theme="b"] .pd-price { justify-content: center; }
[data-theme="b"] .pd-price .now { font-weight: 500; font-size: 22px; }
[data-theme="b"] .pd-actions, [data-theme="b"] .pd-dl-btn { width: 100%; }
[data-theme="b"] .pd-act, [data-theme="b"] .pd-dl-btn { border-radius: 0; }
[data-theme="b"] .pd-act-tel { background: transparent; border-color: var(--line); color: var(--ink); }
[data-theme="b"] .pd-dl-btn { justify-content: center; border-color: var(--line); background: transparent; color: var(--ink); }
[data-theme="b"] .pd-dl-btn:hover:not(:disabled) { border-color: var(--gold); background: transparent; color: var(--gold); }
[data-theme="b"] .pd-label { color: var(--gold); letter-spacing: .3em; }
[data-theme="b"] .pd-label span { color: var(--muted); }
[data-theme="b"] .pd-colors { gap: 10px; }
[data-theme="b"] .pd-color:not(.has-photo) { display: inline-flex; flex-direction: row; align-items: center; gap: 8px; height: 40px; padding: 0 16px;
  border: 1px solid var(--line); font-size: 13px; color: var(--muted); }
[data-theme="b"] .pd-color:not(.has-photo) .pd-sw { width: 12px; height: 12px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .35); }
[data-theme="b"] .pd-color:not(.has-photo).on { border-color: var(--gold); color: var(--ink); }
[data-theme="b"] .pd-color.on .pd-sw.photo { box-shadow: 0 0 0 2px var(--paper), 0 0 0 3px var(--gold); }
[data-theme="b"] .pd-stock-tbl thead th, [data-theme="b"] .pd-sizes thead th { border-bottom-color: var(--line); }
[data-theme="b"] .pd-stock-tbl tbody tr.on { background: #1a2640; }
[data-theme="b"] .pd-stock-tbl .none, [data-theme="b"] .pd-note .none { color: #5d6a86; }
[data-theme="b"] .pd-ship-tbl td.now { color: var(--gold); }
/* 원단 특성: 3칸 막대 */
[data-theme="b"] .pd-fabric { grid-template-columns: minmax(56px, max-content) minmax(0, 1fr) auto; grid-auto-flow: row dense; align-items: center; row-gap: 14px; column-gap: 12px; }
[data-theme="b"] .pd-fabric-name { padding-top: 0; color: var(--muted); }
[data-theme="b"] .pd-fab-val { display: block; grid-column: 3; grid-row: auto; font-weight: 400; text-align: right; min-width: 48px; }
[data-theme="b"] .pd-fab .pd-scale { grid-column: 2; grid-row: auto; order: 0; }
[data-theme="b"] .pd-fab { display: contents; }
[data-theme="b"] .pd-scale { border-top: 0; gap: 4px; }
[data-theme="b"] .pd-scale li { height: 6px; background: var(--line); }
[data-theme="b"] .pd-scale li.fill { background: var(--gold); }
[data-theme="b"] .pd-scale span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
[data-theme="b"] .pd-acc summary::after { color: var(--gold); }
/* 공지(C-03·C-04) */
[data-theme="b"] .intro h1, [data-theme="b"] .notice-view h1 { font-family: var(--serif); font-weight: 600; }
[data-theme="b"] .notice-list, [data-theme="b"] .notice-view header { border-top-color: var(--gold); }
[data-theme="b"] .notice-view .desc a { color: var(--gold); }

/* =========================================================
   C 아틀리에 카드
   ========================================================= */
[data-theme="c"] {
  --paper: #f1f3f7; --tint: #e7ebf1; --line: #dfe3ea; --r: 14px; --card: #ffffff;
  background: var(--paper);
}
[data-theme="c"] body { background: var(--paper); }
[data-theme="c"] .site-head { background: #fff; }
[data-theme="c"] .head-over { background: transparent; }
[data-theme="c"] .chip { background: #fff; border-color: #e2e6ee; }
[data-theme="c"] .chip.on { background: var(--navy); border-color: var(--navy); }
[data-theme="c"] input[type=search] { background: #fff !important; border-color: #e2e6ee; border-radius: 12px !important; }
/* 메인(C-01) */
[data-theme="c"] .lb-main { gap: 28px; }
[data-theme="c"] .lb-sec { background: #fff; border-radius: 20px; padding: 20px 16px; }
[data-theme="c"] .lb-h, [data-theme="c"] .lb-title { font-weight: 800; }
[data-theme="c"] .lb-cta { border-radius: 12px; }
[data-theme="c"] .lb-coll { border-radius: 16px; }
[data-theme="c"] .lb-grid { gap: 12px 10px; }
[data-theme="c"] .lb-grid .card { background: #fff; border-radius: 14px; overflow: hidden; gap: 8px; padding-bottom: 10px; box-shadow: 0 0 0 1px #e8ebf1; }
[data-theme="c"] .lb-grid .card .thumb { border-radius: 0; }
[data-theme="c"] .lb-grid .card .meta { padding-inline: 10px; }
[data-theme="c"] .lb-grid.as-list { gap: 8px; }
[data-theme="c"] .lb-grid.as-list .card { padding: 8px; border-bottom: 0; }
[data-theme="c"] .lb-grid.as-list .card .thumb { border-radius: 10px; }
[data-theme="c"] .lb-grid.as-list .card .meta { padding-inline: 0; }
[data-theme="c"] .lb-hot-img, [data-theme="c"] .lb-view { border-radius: 12px; }
[data-theme="c"] .lb-views { gap: 4px; }
[data-theme="c"] .lb-view + .lb-view { border-left: 1px solid var(--line); }
[data-theme="c"] .rank-badge { border-radius: 0 0 10px 0; }
[data-theme="c"] .lb-sec.lb-hot { padding-right: 0; }
/* 상품 상세(C-02): 정보마다 흰 카드 */
[data-theme="c"] .pd-info { gap: 10px; }
[data-theme="c"] .pd-slide { border-radius: 18px; overflow: hidden; }
@media (max-width: 899px) {
  [data-theme="c"] .pd-media { margin-inline: 0; }
}
[data-theme="c"] .pd-head, [data-theme="c"] .pd-sec, [data-theme="c"] .pd-acc, [data-theme="c"] .pd-model {
  background: #fff; border-radius: 18px; border: 0; padding: 20px;
}
[data-theme="c"] .pd-head { margin-top: 10px; gap: 10px; }
[data-theme="c"] .pd-eyebrow { display: none; }
[data-theme="c"] .pd-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
[data-theme="c"] .pd-tags span { font-size: 11px; font-weight: 700; color: var(--navy); background: var(--accent-soft); padding: 4px 8px; border-radius: 4px; }
[data-theme="c"] .pd-sale { background: var(--sale); color: #fff; padding: 4px 9px; border-radius: 4px; }
[data-theme="c"] .pd-name { font-weight: 800; letter-spacing: -0.03em; }
[data-theme="c"] .pd-price .now { font-size: 22px; font-weight: 800; }
[data-theme="c"] .pd-price .rate { font-size: 20px; font-weight: 800; }
[data-theme="c"] .pd-act, [data-theme="c"] .pd-dl-btn { border-radius: 12px; }
[data-theme="c"] .pd-label { color: var(--ink); font-weight: 700; letter-spacing: .12em; }
[data-theme="c"] .pd-color .pd-sw.photo { border-radius: 10px; }
[data-theme="c"] .pd-stock-tbl tbody tr:last-child th, [data-theme="c"] .pd-stock-tbl tbody tr:last-child td,
[data-theme="c"] .pd-sizes tbody tr:last-child th, [data-theme="c"] .pd-sizes tbody tr:last-child td { border-bottom: 0; }
[data-theme="c"] .pd-stock-tbl tbody tr.on { background: #f3f5f9; }
/* 원단 특성: 아이콘 타일 2×2 */
[data-theme="c"] .pd-fabric { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
[data-theme="c"] .pd-fab { display: grid; gap: 10px; padding: 16px 14px; background: #f5f7fa; border-radius: 14px; }
[data-theme="c"] .pd-fabric-name { display: flex; align-items: center; gap: 8px; padding-top: 0; color: #4a5568; }
[data-theme="c"] .pd-fab-ico { display: block; color: var(--navy); flex: none; }
[data-theme="c"] .pd-fab-val { display: block; font-size: 18px; font-weight: 800; }
[data-theme="c"] .pd-scale { border-top: 0; gap: 3px; }
[data-theme="c"] .pd-scale li { height: 5px; border-radius: 3px; background: #dfe3ea; }
[data-theme="c"] .pd-scale li.fill { background: var(--navy); }
[data-theme="c"] .pd-scale span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* 모델 카드 */
[data-theme="c"] .pd-model { display: flex; align-items: center; gap: 14px; padding: 16px 18px; }
[data-theme="c"] .pd-model-size { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--accent-soft); font-size: 13px; font-weight: 800; color: var(--navy); }
[data-theme="c"] .pd-model > span:last-child { display: grid; gap: 2px; font-size: 13px; }
[data-theme="c"] .pd-model small { color: #4a5568; font-size: 13px; }
/* 안내 카드: 모두 펼친 상태 (접고 펴기 표시 없음) */
[data-theme="c"] .pd-accs { border-top: 0; display: grid; gap: 10px; }
[data-theme="c"] .pd-acc summary { padding: 0 0 10px; pointer-events: none; font-weight: 700; }
[data-theme="c"] .pd-acc summary::after { content: none; }
[data-theme="c"] .pd-acc-body { padding-bottom: 0; }
/* (C 테마 화면 아래 고정 버튼은 2026-11-11 요청으로 사용 안 함: A 테마처럼 가격 아래 버튼만) */
}
.pd-bar-main { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 52px; border: 0; border-radius: 12px;
  background: var(--navy); color: #fff; font: inherit; font-size: 15px; font-weight: 700; text-decoration: none; cursor: pointer; }
button.pd-bar-main { background: #fee500; color: #191919; }
.pd-bar-ico { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 52px; height: 52px; border: 1px solid #dfe3ea; border-radius: 12px;
  background: #fff; color: #15171b; cursor: pointer; }
.pd-bar-ico.kk { background: #fee500; border-color: #fee500; color: #191919; }
.pd-bar-ico.wc { background: #07c160; border-color: #07c160; color: #fff; }
/* 공지(C-03·C-04) */
[data-theme="c"] .notice-list { border-top: 0; background: #fff; border-radius: 18px; overflow: hidden; }
[data-theme="c"] .notice-list li:last-child { border-bottom: 0; }
[data-theme="c"] .notice-list a { padding: 16px; }
[data-theme="c"] .notice-view { background: #fff; border-radius: 18px; padding: 8px 20px 28px; margin-top: 16px; }
[data-theme="c"] .notice-view header { border-top: 0; }
[data-theme="c"] .notice-nav { background: #fff; border-radius: 18px; border-top: 0; overflow: hidden; margin-top: 10px; }
[data-theme="c"] .notice-nav a { padding: 14px 16px; }
[data-theme="c"] .notice-nav a:last-child { border-bottom: 0; }
[data-theme="c"] .site-foot { background: #fff; border-top: 0; margin-top: 16px; border-radius: 24px 24px 0 0; }
[data-theme="c"] .notice-list { min-height: 0; }
[data-theme="c"] .pd-actions, [data-theme="c"] .pd-dl-btn { width: 100%; }
[data-theme="c"] .pd-dl-btn { justify-content: center; }

/* A-07 테마 고르기 카드 */
.th-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 12px; }
.th-opt { position: relative; cursor: pointer; }
.th-opt input { position: absolute; opacity: 0; pointer-events: none; }
.th-card { display: grid; gap: 6px; height: 100%; padding: 12px; border: 2px solid var(--line); border-radius: 12px; background: #fff; }
.th-opt:hover .th-card { border-color: var(--slate); }
.th-opt input:checked + .th-card { border-color: var(--navy); box-shadow: 0 0 0 3px var(--accent-soft); }
.th-opt input:checked + .th-card strong::after { content: ' ✓ 선택'; font-size: 12px; color: var(--navy); }
.th-opt input:focus-visible + .th-card { outline: 2px solid var(--navy); outline-offset: 2px; }
.th-card small { color: var(--muted); }
.th-links { display: flex; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.th-links a { color: var(--navy); }
.th-mock { position: relative; display: block; height: 150px; border-radius: 8px; overflow: hidden; margin-bottom: 4px; }
.th-mock i, .th-mock b, .th-mock em, .th-mock u { position: absolute; display: block; }
.th-mock-a { background: #fff; box-shadow: inset 0 0 0 1px #e3e6ec; }
.th-mock-a i { left: 0; top: 0; width: 55%; height: 100%; background: #7d8fb0; }
.th-mock-a b { left: 62%; top: 20px; width: 30%; height: 10px; background: #15171b; }
.th-mock-a em { left: 62%; width: 22%; height: 6px; background: #c9ced8; }
.th-mock-a em:nth-of-type(1) { top: 40px; } .th-mock-a em:nth-of-type(2) { top: 54px; }
.th-mock-a u { left: 62%; top: 76px; width: 30%; height: 16px; background: #1b2a44; }
.th-mock-b { background: #111a2c; }
.th-mock-b i { left: 0; top: 0; width: 100%; height: 64px; background: #34497a; }
.th-mock-b b { left: 30%; top: 78px; width: 40%; height: 10px; background: #eef1f6; }
.th-mock-b em { left: 38%; width: 24%; height: 5px; background: #d4bc92; }
.th-mock-b em:nth-of-type(1) { top: 96px; } .th-mock-b em:nth-of-type(2) { top: 108px; background: #26324d; }
.th-mock-b u { left: 12%; top: 124px; width: 76%; height: 16px; background: #d4bc92; }
.th-mock-c { background: #f1f3f7; }
.th-mock-c i { left: 8px; top: 8px; right: 8px; height: 60px; border-radius: 10px; background: #2a3d63; }
.th-mock-c b { left: 8px; top: 74px; right: 8px; height: 30px; border-radius: 8px; background: #fff; }
.th-mock-c em { top: 110px; width: calc(50% - 12px); height: 16px; border-radius: 6px; background: #fff; }
.th-mock-c em:nth-of-type(1) { left: 8px; } .th-mock-c em:nth-of-type(2) { right: 8px; }
.th-mock-c u { left: 0; right: 0; bottom: 0; height: 14px; background: #fff; border-radius: 8px 8px 0 0; box-shadow: inset 0 0 0 4px #fff, inset 40px 0 0 4px #fff; }

/* 상품번호 강조 (모든 테마) */
[data-theme="b"] .pd-no { color: var(--gold); }
[data-theme="b"] .pd-no span { color: var(--muted); }
[data-theme="c"] .notice-list li.adm .n-adm { right: 14px; }

/* 메인 공지 띠(F-23) — 테마 B 남색 바탕에서 어두운 그림자·밝은 금색 */
[data-theme="b"] .hn[data-s="b"] .hn-link { box-shadow: 0 10px 30px rgba(0, 0, 0, .4); border: 1px solid var(--line); }
[data-theme="b"] .hn[data-s="d"] .hn-k { color: var(--gold); }
[data-theme="b"] .hn[data-s="a"] { background: #0b1220; border-block: 1px solid var(--line); }

/* A-07 메인 공지 띠 모양 견본 */
.hn-mock { position: relative; display: block; height: 150px; border-radius: 8px; overflow: hidden; margin-bottom: 4px; background: #fff; box-shadow: inset 0 0 0 1px #e3e6ec; }
.hn-mock i, .hn-mock b, .hn-mock em, .hn-mock u, .hn-mock s { position: absolute; display: block; text-decoration: none; }
.hn-mock i { left: 0; right: 0; top: 0; height: 84px; background: #2c4372; }
.hn-mock em { top: 112px; width: calc(50% - 14px); height: 30px; border-radius: 6px; background: #c9ced8; }
.hn-mock em:nth-of-type(1) { left: 10px; } .hn-mock em:nth-of-type(2) { right: 10px; }
.hn-mock-a b { left: 0; right: 0; top: 84px; height: 16px; background: #15171b; }
.hn-mock-a u { left: 10px; top: 90px; width: 20px; height: 4px; background: #d8c29d; }
.hn-mock-a s { left: 36px; top: 90px; width: 50%; height: 4px; background: #fff; opacity: .8; }
.hn-mock-b b { left: 10px; right: 10px; top: 72px; height: 28px; border-radius: 8px; background: #fff; box-shadow: 0 4px 12px rgba(20, 30, 50, .22); }
.hn-mock-b u { left: 16px; top: 78px; width: 16px; height: 16px; border-radius: 5px; background: #e6ebf3; }
.hn-mock-b s { left: 38px; top: 84px; width: 50%; height: 5px; background: #15171b; }
.hn-mock-c b { left: 0; right: 0; top: 68px; height: 16px; background: rgba(255, 255, 255, .22); border-top: 1px solid rgba(255, 255, 255, .35); }
.hn-mock-c u { left: 10px; top: 73px; width: 16px; height: 6px; border-radius: 2px; background: #d8c29d; }
.hn-mock-c s { left: 32px; top: 74px; width: 50%; height: 4px; background: #fff; }
.hn-mock-d b { left: 10px; right: 10px; top: 98px; height: 1px; background: #c9b089; }
.hn-mock-d u { left: 30%; top: 93px; width: 40%; height: 10px; background: #fff; }
.hn-mock-d s { left: 34%; top: 96px; width: 32%; height: 4px; background: #15171b; }
.hn-mock-e b { left: 22%; right: 22%; top: 91px; height: 16px; border-radius: 99px; background: #f2efe9; box-shadow: inset 0 0 0 1px #e3dccf; }
.hn-mock-e u { left: calc(22% + 3px); top: 94px; width: 22px; height: 10px; border-radius: 99px; background: #1b2a44; }
.hn-mock-e s { left: calc(22% + 30px); top: 97px; width: 30%; height: 4px; background: #15171b; }
