/* Layout: sticky shop header + store tabs, catalog rows grouped by Taiwanese store, cart/checkout as two-column panels */
:root{
  --bg:#F4F6F4; --surface:#FFFFFF; --surface-2:#EAF0EC; --ink:#15211C; --muted:#5B6A63; --line:#D8E1DC;
  --jade:#0D6B52; --jade-ink:#FFFFFF; --jade-soft:#DDEFE7;
  --gold:#B97A12; --gold-soft:#FBEFD6;
  --danger:#B23A2E; --danger-soft:#FBE6E2; --warn:#8A5A00; --warn-soft:#FFF2D4;
  --hero-bg:#0E5543; --hero-ink:#F3FAF6; --hero-muted:#B9D9CC; --scrim:rgba(10,20,16,.45);
  --t1bg:#FBEBC8; --t1fg:#9A6208; --t2bg:#D9EEE4; --t2fg:#0D6B52; --t3bg:#F8DFE4; --t3fg:#A33A55;
  --t4bg:#E2E7EC; --t4fg:#3D4D5C; --t5bg:#DDE7F6; --t5fg:#2F5C9A; --t6bg:#EFE6D8; --t6fg:#7A5A33;
  --s-momo:#D2457E; --s-pchome:#D9822B; --s-shopee:#E25A33; --s-books:#3F7DB3; --s-pinkoi:#2A9C8D; --s-ruten:#7E70B5; --s-other:#8A948F;
  --f-body:"Noto Sans KR","Noto Sans TC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-glyph:"Noto Serif TC","Noto Serif CJK TC",serif;
  --r:12px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0F1513; --surface:#161F1B; --surface-2:#1D2924; --ink:#E6EEEA; --muted:#9BACA4; --line:#2B3A34;
  --jade:#46B892; --jade-ink:#062319; --jade-soft:#173A2F; --gold:#E6B04E; --gold-soft:#372A12;
  --danger:#F2867A; --danger-soft:#3C1E1A; --warn:#EDB653; --warn-soft:#382B10;
  --hero-bg:#123A30; --hero-ink:#EAF5EF; --hero-muted:#9CC4B4; --scrim:rgba(0,0,0,.6);
  --t1bg:#3A2C12; --t1fg:#EDBB5C; --t2bg:#163A2F; --t2fg:#6FD0AB; --t3bg:#3C1F28; --t3fg:#F09AB0;
  --t4bg:#232C34; --t4fg:#A9BACB; --t5bg:#1C2A3E; --t5fg:#8FB4EA; --t6bg:#33291C; --t6fg:#D6B88E;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1513; --surface:#161F1B; --surface-2:#1D2924; --ink:#E6EEEA; --muted:#9BACA4; --line:#2B3A34;
  --jade:#46B892; --jade-ink:#062319; --jade-soft:#173A2F; --gold:#E6B04E; --gold-soft:#372A12;
  --danger:#F2867A; --danger-soft:#3C1E1A; --warn:#EDB653; --warn-soft:#382B10;
  --hero-bg:#123A30; --hero-ink:#EAF5EF; --hero-muted:#9CC4B4; --scrim:rgba(0,0,0,.6);
  --t1bg:#3A2C12; --t1fg:#EDBB5C; --t2bg:#163A2F; --t2fg:#6FD0AB; --t3bg:#3C1F28; --t3fg:#F09AB0;
  --t4bg:#232C34; --t4fg:#A9BACB; --t5bg:#1C2A3E; --t5fg:#8FB4EA; --t6bg:#33291C; --t6fg:#D6B88E;
  color-scheme:dark}
*{box-sizing:border-box}
html:lang(zh-Hant-TW) body{font-family:"Noto Sans TC","Noto Sans KR",system-ui,sans-serif}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{line-height:1.25;text-wrap:balance;margin:0}
p{margin:0}
a{color:var(--jade)}
button{font:inherit;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
@media (max-width:600px){.wrap{padding-inline:16px}}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.testbar{background:var(--ink);color:var(--bg);font-size:12px;text-align:center;padding:6px 16px}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:14px;min-height:64px;flex-wrap:wrap;padding-block:8px}
.brand{display:flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;padding:0;text-align:left}
.mark{width:36px;height:36px;border-radius:9px;background:var(--jade);color:var(--jade-ink);display:grid;place-items:center;font-family:var(--f-glyph);font-size:20px}
.brand b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em}
.brand small{display:block;font-size:11px;color:var(--muted);margin-top:-2px}
.search{flex:1 1 260px;display:flex;min-width:0}
.search input{flex:1;min-width:0;height:40px;border:1px solid var(--line);border-right:0;border-radius:20px 0 0 20px;background:var(--surface-2);color:var(--ink);padding:0 16px;font:inherit}
.search button{height:40px;border:1px solid var(--line);border-radius:0 20px 20px 0;background:var(--surface-2);padding:0 14px;cursor:pointer;color:var(--muted)}
.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tools select{height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;padding:0 6px}
.linkbtn{background:none;border:0;cursor:pointer;font-size:14px;color:var(--ink);padding:6px 4px;white-space:nowrap}
.linkbtn:hover{color:var(--jade)}
.cartbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:17px;background:var(--jade);color:var(--jade-ink);border:0;cursor:pointer;font-weight:700;font-size:14px}
.cartbtn .n{background:var(--jade-ink);color:var(--jade);border-radius:10px;padding:0 7px;font-size:12px}
.subnav{border-bottom:1px solid var(--line);background:var(--surface)}
.subnav-in{display:flex;gap:6px;align-items:center;overflow-x:auto;padding-block:8px;scrollbar-width:thin}
.subnav-label{font-size:12px;color:var(--muted);white-space:nowrap;margin-right:4px}
.chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}
.chip[aria-current="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.dot{width:10px;height:10px;border-radius:50%;flex:none}
.sep{width:1px;height:20px;background:var(--line);margin-inline:6px;flex:none}
.navlink{font-size:13px;white-space:nowrap;background:none;border:0;cursor:pointer;padding:6px 8px;color:var(--muted);font-weight:500}
.navlink[aria-current="true"],.navlink:hover{color:var(--ink)}

main{padding-block:22px 48px;min-height:60vh}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-weight:700;cursor:pointer;font-size:14px;text-decoration:none;white-space:nowrap}
.btn-pri{background:var(--jade);color:var(--jade-ink)}
.btn-sec{background:var(--surface);border-color:var(--line);color:var(--ink)}
.btn-sm{height:34px;padding:0 12px;font-size:13px;border-radius:8px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-block{width:100%}

.hero{display:grid;grid-template-columns:1.7fr 1fr;gap:16px}
.hero-main{background:var(--hero-bg);color:var(--hero-ink);border-radius:18px;padding:30px 32px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.hero-main h1{font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.02em;max-width:22ch}
.hero-main p{color:var(--hero-muted);max-width:52ch}
.hero-main .glyphs{position:absolute;right:-6px;bottom:-26px;font-family:var(--f-glyph);font-size:150px;line-height:1;color:var(--hero-ink);opacity:.07;pointer-events:none;letter-spacing:-.05em}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;position:relative}
.hero-cta .btn-pri{background:var(--hero-ink);color:var(--hero-bg)}
.hero-cta .btn-sec{background:transparent;color:var(--hero-ink);border-color:var(--hero-muted)}
.hero-side{background:var(--gold-soft);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px}
.hero-side h2{font-size:19px}
.hero-side p{color:var(--muted);font-size:14px}
.facts{display:grid;gap:6px;font-size:13px;margin-top:4px}
.facts div{display:flex;justify-content:space-between;gap:10px;border-top:1px dashed var(--line);padding-top:6px}
.facts span:first-child{color:var(--muted)}

.section{margin-top:34px}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.sec-head h2{font-size:19px;font-weight:800;display:flex;align-items:center;gap:10px}
.sec-head .more{font-size:13px;font-weight:600;background:none;border:0;cursor:pointer;color:var(--jade)}
.store-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:6px;background:var(--surface);border:1px solid var(--line)}
.muted{color:var(--muted)}
.small{font-size:13px}

.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (min-width:1001px){.grid.g-row>:nth-child(n+6),.grid.g-two>:nth-child(n+11){display:none}}
@media (max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;text-align:left;padding:0;transition:border-color .15s, transform .15s}
.card:hover{border-color:var(--jade);transform:translateY(-2px)}
.tile{aspect-ratio:1/1;max-width:100%;display:grid;place-items:center;position:relative}
.tile.photo{background:#fff}
.tile.photo img{width:100%;height:100%;object-fit:contain;display:block}
.chip.soon{opacity:.55;cursor:default}
.chip.soon small{font-size:10px;font-weight:500;color:var(--muted)}
.tile .g{font-family:var(--f-glyph);font-size:clamp(48px,7vw,72px);line-height:1}
.tile .zh{position:absolute;left:10px;right:10px;bottom:8px;font-size:11px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-family:"Noto Sans TC",sans-serif}
.tile .badge{position:absolute;left:8px;top:8px}
.tile .flag{position:absolute;right:8px;top:8px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;background:var(--danger);color:var(--surface)}
.c-food{background:var(--t1bg);color:var(--t1fg)} .c-tea{background:var(--t2bg);color:var(--t2fg)}
.c-beauty,.c-design{background:var(--t3bg);color:var(--t3fg)} .c-elec,.c-goods{background:var(--t4bg);color:var(--t4fg)}
.c-book{background:var(--t5bg);color:var(--t5fg)} .c-used{background:var(--t6bg);color:var(--t6fg)}
.card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1}
.card-body .sold{font-size:11px;color:var(--muted)}
.card-body .nm{font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.card-body .pr{font-size:16px;font-weight:800;margin-top:4px}
.card-body .orig{font-size:12px;color:var(--muted)}
.pill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--jade-soft);color:var(--jade);width:fit-content}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.bad{background:var(--danger-soft);color:var(--danger)}
.pill.gray{background:var(--surface-2);color:var(--muted)}

.stores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.stores{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.stores{grid-template-columns:1fr}}
.store-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px}
.store-card h3{font-size:16px;display:flex;align-items:center;gap:8px}
.store-card .row{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}

.steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:s}
@media (max-width:800px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.steps4{grid-template-columns:1fr}}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:6px}
.step .k{font-size:12px;font-weight:800;color:var(--jade)}
.step h3{font-size:15px}
.step p{font-size:13px;color:var(--muted)}

.storehead{border-radius:16px;padding:24px 26px;color:#fff;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.storehead h1{font-size:28px;font-weight:800}
.storehead p{opacity:.9;margin-top:4px}
.flowchips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}
.flowchips span{background:rgba(255,255,255,.18);padding:4px 10px;border-radius:12px}

.pdp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start}
@media (max-width:800px){.pdp{grid-template-columns:1fr}}
.pdp .tile{border-radius:16px;max-width:460px;width:100%;border:1px solid var(--line)}
.pdp .tile .g{font-size:clamp(90px,16vw,160px)}
.pdp .tile .zh{font-size:15px;bottom:16px}
.pdp-info{display:flex;flex-direction:column;gap:12px;min-width:0}
.soldbar{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;padding:8px 12px;border-radius:8px;background:var(--surface-2)}
.pdp-info h1{font-size:24px;font-weight:800}
.pdp-info .zhname{color:var(--muted);font-size:14px;font-family:"Noto Sans TC",sans-serif}
.bigprice{font-size:28px;font-weight:800}
.opts{display:flex;gap:8px;flex-wrap:wrap}
.opt{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-family:"Noto Sans TC",var(--f-body);font-size:14px}
.opt[aria-pressed="true"]{border-color:var(--jade);color:var(--jade);box-shadow:inset 0 0 0 1px var(--jade);font-weight:700}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.qty button{width:34px;height:34px;border:0;background:none;cursor:pointer;font-size:16px}
.qty span,.qty input{width:40px;text-align:center;border:0;background:none;color:var(--ink);font:inherit}
.notice{border-radius:10px;padding:12px 14px;font-size:13px;background:var(--surface-2)}
.notice.bad{background:var(--danger-soft);color:var(--danger)}
.notice.warn{background:var(--warn-soft);color:var(--warn)}
.notice.ok{background:var(--jade-soft);color:var(--jade)}
.flow3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.flow3 div{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12px;background:var(--surface)}
.flow3 b{display:block;font-size:13px;margin-bottom:2px}
.label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.02em}

.layout2{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
@media (max-width:900px){.layout2{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}
.panel h2{font-size:17px;margin-bottom:12px}
.sticky{position:sticky;top:calc(env(safe-area-inset-top,0px) + 140px)}
@media (max-width:900px){.sticky{position:static}}
.grp{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.grp+.grp{margin-top:12px}
.grp-h{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;color:#fff;font-size:13px;font-weight:700}
.line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;padding:12px 14px;border-top:1px solid var(--line);align-items:center}
.line:first-of-type{border-top:0}
.line .tile{width:56px;border-radius:8px}
.line .tile .g{font-size:26px}
.line .nm{font-weight:600;font-size:14px}
.line .meta{font-size:12px;color:var(--muted);word-break:break-all}
.line .right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.rm{background:none;border:0;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline}
.sum{display:grid;gap:8px;font-size:14px}
.sum div{display:flex;justify-content:space-between;gap:10px}
.sum .tot{border-top:1px solid var(--line);padding-top:10px;font-weight:800;font-size:16px}
.sum span:first-child{color:var(--muted)}
.sum .tot span:first-child{color:var(--ink)}

.form{display:grid;gap:12px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.form .two{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label{font-size:13px;font-weight:600}
.field .hint{font-size:12px;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 12px;font:inherit}
.field textarea{height:auto;min-height:84px;padding:10px 12px;resize:vertical}
.check{display:flex;gap:8px;align-items:flex-start;font-size:13px}
.check input{margin-top:3px}
.form-err{color:var(--danger);font-size:13px;min-height:1em}

.timeline{display:flex;flex-wrap:wrap;gap:6px}
.timeline span{font-size:12px;padding:5px 10px;border-radius:14px;background:var(--surface-2);color:var(--muted)}
.timeline span.done{background:var(--jade-soft);color:var(--jade)}
.timeline span.now{background:var(--jade);color:var(--jade-ink);font-weight:700}
.olist{display:grid;gap:14px}
.order{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:14px}
.order-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.order-h h3{font-size:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ilist{display:grid;gap:6px;font-size:14px}
.ilist div{display:flex;justify-content:space-between;gap:12px}
.ilist div span:first-child{min-width:0}
.inq{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:10px}
.bubble{background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13px}
.bubble.ans{background:var(--jade-soft);color:var(--ink)}
.bubble b{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
details>summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--jade)}

.addr{display:grid;gap:8px;font-family:"Noto Sans TC",var(--f-body)}
.addr div{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.addr span:first-child{font-size:12px;color:var(--muted);font-family:var(--f-body)}
.addr b{word-break:break-all}

.info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
@media (max-width:800px){.info-grid{grid-template-columns:1fr}}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;color:var(--muted);font-weight:700}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq details p{margin-top:8px;color:var(--muted);font-size:14px}
ul.ban{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}

.adminbar{background:var(--ink);color:var(--bg);border-radius:12px;padding:14px 18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.tab{height:34px;padding:0 14px;border-radius:17px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;font-size:13px}
.tab[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.adm-order{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.adm-order+.adm-order{margin-top:10px}
.adm-order>summary{list-style:none;display:grid;grid-template-columns:110px 110px minmax(0,1fr) 120px 170px;gap:10px;padding:12px 14px;align-items:center;color:var(--ink);font-weight:500}
.adm-order>summary::-webkit-details-marker{display:none}
@media (max-width:760px){.adm-order>summary{grid-template-columns:1fr 1fr}}
.adm-body{border-top:1px solid var(--line);padding:14px;display:grid;gap:12px}

.empty{text-align:center;padding:48px 16px;color:var(--muted);display:grid;gap:14px;justify-items:center}
.reqbox{background:var(--surface);border:1px dashed var(--line);border-radius:14px;padding:18px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.reqbox h3{font-size:16px}

.modal{position:fixed;inset:0;background:var(--scrim);display:grid;place-items:center;z-index:50;padding:16px}
.modal-box{background:var(--surface);border-radius:16px;padding:24px;width:min(420px,100%);max-height:90vh;overflow:auto;display:grid;gap:12px}
.modal-box h2{font-size:20px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:22px;font-size:14px;z-index:60;box-shadow:0 6px 20px rgba(0,0,0,.2);max-width:calc(100% - 32px);text-align:center}
footer{border-top:1px solid var(--line);padding-block:20px;font-size:12px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:820px){.hero{grid-template-columns:1fr}}
@media (max-width:640px){.top{position:static}.sticky{position:static}}

/* 운영판 추가 */
:root{--s-yahoo:#6B3FA0;--s-etmall:#C8102E;--s-friday:#E4007F;--s-eslite:#2D2D2D;--s-watsons:#00A3A1;--s-cosmed:#E2001A;--s-poya:#E85298;--s-kingstone:#1F5FA8;--s-carrefour:#1E5BC6}
.testbar{background:var(--warn-soft);color:var(--warn);font-size:12px;font-weight:700;text-align:center;padding:6px 16px}
footer a{color:var(--muted)}
.tile.photo img{background:#fff}
body{margin:0}

/* =========================================================
   대만 분위기 테마: 야시장 등불의 주홍, 비취, 금색, 밤하늘, 화전(花磚) 타일 무늬
   ========================================================= */
:root{
  --bg:#FBF6EE; --surface:#FFFFFF; --surface-2:#F4ECDF; --ink:#231B16; --muted:#6F625A; --line:#EADFCF;
  --jade:#B8322A; --jade-ink:#FFFFFF; --jade-soft:#FBE7E2;
  --gold:#D49A2A; --gold-soft:#FBF0D9; --teal:#1F6F63; --teal-soft:#DDEFEA;
  --night:#14202F; --night-2:#1D3044; --cream:#FFF6E6;
  --hero-bg:var(--night); --hero-ink:#FFF6E6; --hero-muted:#C9D3DD;
  --r:14px;
  --tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23B8322A' stroke-opacity='.16' stroke-width='1.4'%3E%3Ccircle cx='24' cy='24' r='9'/%3E%3Cpath d='M24 6 L30 18 L24 15 L18 18Z M24 42 L30 30 L24 33 L18 30Z M6 24 L18 18 L15 24 L18 30Z M42 24 L30 18 L33 24 L30 30Z'/%3E%3Ccircle cx='0' cy='0' r='6'/%3E%3Ccircle cx='48' cy='0' r='6'/%3E%3Ccircle cx='0' cy='48' r='6'/%3E%3Ccircle cx='48' cy='48' r='6'/%3E%3C/g%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#12100E; --surface:#1B1714; --surface-2:#251F1B; --ink:#F2E9DF; --muted:#B3A598; --line:#3A302A;
  --jade:#E5675B; --jade-ink:#1B0C09; --jade-soft:#3A1E1A; --gold:#E7B556; --gold-soft:#3A2D14; --teal:#5FC0AE; --teal-soft:#173731;
  --night:#0B1520; --night-2:#132233; --cream:#FFF6E6; --hero-bg:var(--night);
}}
body{background:var(--bg)}
h1,h2,h3{letter-spacing:-.015em}
.zhserif{font-family:"Noto Serif TC","Noto Serif CJK TC",serif}

/* 상단 */
.top{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.top::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--jade) 0 40%,var(--gold) 40% 60%,var(--teal) 60%)}
.mark{width:40px;height:40px;border-radius:10px;background:var(--jade);color:#fff;font-family:"Noto Serif TC",serif;font-size:21px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 2px 0 rgba(0,0,0,.08);transform:rotate(-4deg)}
.brand b{font-size:18px}
.search input{background:var(--surface-2);border-color:var(--line)}
.search button{background:var(--jade);border-color:var(--jade);color:#fff;font-size:16px;padding:0 16px}
.cartbtn{background:var(--ink);color:var(--bg)}
.cartbtn .n{background:var(--gold);color:var(--night)}
.subnav{background:var(--surface)}
.chip[aria-current="true"]{border-color:var(--jade);box-shadow:inset 0 0 0 1px var(--jade);color:var(--jade)}
.btn-pri{background:var(--jade);color:var(--jade-ink)}
.btn-pri:hover{filter:brightness(1.06)}
.btn-gold{background:var(--gold);color:var(--night)}
.btn-ghost{background:transparent;color:var(--hero-ink);border-color:rgba(255,255,255,.35)}

/* 야시장 히어로 */
.nm-hero{position:relative;overflow:hidden;border-radius:22px;background:radial-gradient(120% 90% at 80% 0%,#2B4560 0%,var(--night-2) 40%,var(--night) 100%);color:var(--hero-ink);min-height:380px;display:grid;grid-template-columns:1.15fr .85fr;align-items:end}
.nm-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:56px;background:var(--tile);background-size:36px;opacity:.55;filter:brightness(1.8);mask-image:linear-gradient(transparent,#000)}
.nm-copy{position:relative;z-index:2;padding:40px 40px 64px;display:flex;flex-direction:column;gap:16px}
.nm-kicker{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:700;color:var(--gold);letter-spacing:.04em}
.nm-kicker .zhserif{font-size:15px}
.nm-copy h1{font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.18;max-width:16ch}
.nm-copy h1 em{font-style:normal;color:var(--gold)}
.nm-copy p{color:var(--hero-muted);max-width:46ch;font-size:15px}
.nm-cta{display:flex;gap:10px;flex-wrap:wrap}
.nm-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.nm-badges span{font-size:12px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--hero-ink)}
.nm-art{position:relative;align-self:stretch;min-height:300px}
.nm-skyline{position:absolute;right:0;bottom:44px;width:100%;height:auto;opacity:.9}
.lantern{position:absolute;top:-6px;transform-origin:top center;animation:sway 5s ease-in-out infinite}
.lantern svg{display:block;filter:drop-shadow(0 0 18px rgba(255,120,60,.55))}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.nm-glyph{position:absolute;left:-8px;bottom:40px;font-family:"Noto Serif TC",serif;font-size:170px;line-height:1;color:#fff;opacity:.05;pointer-events:none}
@media (max-width:820px){.nm-hero{grid-template-columns:1fr}.nm-art{position:absolute;inset:0;opacity:.55;pointer-events:none}.nm-copy{padding:30px 22px 70px}.nm-skyline{width:150%;right:-30%}}

/* 신뢰 표시 줄 */
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.trust div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;gap:10px;align-items:center;font-size:13px}
.trust b{display:block;font-size:14px}
.trust i{font-style:normal;width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--jade-soft);color:var(--jade);font-family:"Noto Serif TC",serif;font-weight:700}
@media (max-width:820px){.trust{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 섹션 제목: 번체 작은 라벨 */
.sec-head h2 .zh{font-family:"Noto Serif TC",serif;font-size:13px;color:var(--jade);font-weight:700;padding:2px 8px;border:1px solid currentColor;border-radius:4px;transform:rotate(-2deg)}

/* 카테고리 아이콘 */
.cats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
@media (max-width:900px){.cats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cat{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;cursor:pointer;padding:6px 2px;font-size:13px;font-weight:600;color:var(--ink)}
.cat .ic{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--jade);transition:transform .15s,border-color .15s}
.cat:hover .ic{transform:translateY(-3px);border-color:var(--jade)}
.cat svg{width:30px;height:30px}

/* 기획전 */
.promos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:820px){.promos{grid-template-columns:1fr}}
.promo{position:relative;overflow:hidden;border-radius:18px;padding:22px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;text-align:left;border:0;cursor:pointer;color:#fff}
.promo h3{font-size:19px;font-weight:800;max-width:14ch}
.promo p{font-size:13px;opacity:.88;max-width:26ch}
.promo .go{font-size:13px;font-weight:700}
.promo .big{position:absolute;right:-6px;bottom:-22px;font-family:"Noto Serif TC",serif;font-size:96px;line-height:1;opacity:.18}
.promo.p1{background:linear-gradient(135deg,#C2412F,#8E2219)}
.promo.p2{background:linear-gradient(135deg,#1F6F63,#124B42)}
.promo.p3{background:linear-gradient(135deg,#D49A2A,#9C6A12);color:#231B16}
.promo::before{content:"";position:absolute;inset:0;background:var(--tile);background-size:44px;opacity:.35;filter:brightness(3) saturate(0);mix-blend-mode:overlay}

/* 상품 카드 */
.card{border-radius:16px;border-color:var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.card:hover{border-color:var(--jade);box-shadow:0 10px 24px -14px rgba(120,40,20,.35)}
.card-body .pr{color:var(--jade);font-size:17px}
.card-body .sold{display:flex;gap:6px;align-items:center}
.card-body .sold::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}
.tile.photo{background:#fff}

/* 이용 단계 */
.steps4 .step{position:relative;border-radius:16px}
.steps4 .k{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--jade);color:#fff;font-size:15px;transform:rotate(-4deg);font-family:"Noto Serif TC",serif}

/* 찾는 상품이 없나요 */
.reqbox{border:0;background:var(--surface);background-image:var(--tile);background-size:40px;box-shadow:inset 0 0 0 1px var(--line)}
.reqbox>div{background:var(--surface);padding:6px 10px;border-radius:10px}

/* 쇼핑몰 머리 */
.storehead{border-radius:20px;position:relative;overflow:hidden}
.storehead::after{content:"";position:absolute;inset:0;background:var(--tile);background-size:44px;opacity:.4;filter:brightness(3) saturate(0);mix-blend-mode:overlay;pointer-events:none}
.storehead>*{position:relative;z-index:1}

/* 바닥글 */
footer{background:var(--night);color:#C9D3DD;border-top:0;padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));position:relative}
footer::before{content:"";position:absolute;inset:0 0 auto 0;height:10px;background:var(--tile);background-size:24px;filter:brightness(2.4)}
footer a,footer .rm{color:#E9EEF3}
.foot-brand{display:flex;gap:10px;align-items:center;color:#fff;font-weight:800}

/* 모바일 하단 메뉴 */
.tabbar{display:none}
@media (max-width:640px){
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
  .tabbar button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;font-size:11px;color:var(--muted);cursor:pointer;position:relative}
  .tabbar button[aria-current="true"]{color:var(--jade);font-weight:700}
  .tabbar svg{width:22px;height:22px}
  .tabbar .n{position:absolute;top:3px;left:calc(50% + 6px);background:var(--jade);color:#fff;border-radius:9px;font-size:10px;padding:0 5px;line-height:16px}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  .top .cartbtn{display:none}
  .top-in{min-height:56px}
  .brand small{display:none}
}
@media (prefers-reduced-motion:reduce){.lantern{animation:none}}
@media (max-width:640px){
  .top-in{gap:10px;padding-block:8px}
  .top-in .tools{margin-left:auto;order:2}
  .top-in .search{order:3;flex-basis:100%}
  .top-in .tools .linkbtn{display:none}
  .tools select{height:32px;font-size:12px}
  .nm-art{opacity:.32}
  .nm-art .lantern{top:-40px}
  .nm-copy{padding-top:34px}
}
/* 로고 A: 台 카트 */
.mark{background:none;box-shadow:none;transform:none;border-radius:0;display:block;flex:none}
.mark svg{display:block;width:100%;height:100%;filter:drop-shadow(0 2px 0 rgba(0,0,0,.08))}
/* 밝은 노을 야시장 히어로 (밤 배경이 어둡다는 의견 반영) */
.nm-hero{background:radial-gradient(90% 120% at 85% 10%,#FFE9B8 0%,rgba(255,233,184,0) 55%),linear-gradient(135deg,#FFF1DE 0%,#FFD6B0 48%,#F6A486 100%);color:var(--ink)}
.nm-hero::after{filter:none;opacity:.5}
.nm-kicker{color:var(--jade)}
.nm-copy h1{color:#2A1712}
.nm-copy h1 em{color:var(--jade)}
.nm-copy p{color:#5B4136}
.nm-badges span{background:rgba(255,255,255,.6);border-color:rgba(184,50,42,.18);color:#5B4136}
.btn-ghost{color:#2A1712;border-color:rgba(42,23,18,.35);background:rgba(255,255,255,.45)}
.nm-skyline{color:#E98F72;opacity:.55}
.nm-glyph{color:#B8322A;opacity:.07}
.lantern svg{filter:drop-shadow(0 6px 10px rgba(184,50,42,.35))}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .nm-hero{background:radial-gradient(90% 120% at 85% 10%,#5A3A2A 0%,rgba(90,58,42,0) 55%),linear-gradient(135deg,#3A2219 0%,#4A2A20 50%,#5C2E24 100%);color:#FFF1DE}
:root:not([data-theme="light"]) .nm-copy h1{color:#FFF1DE}:root:not([data-theme="light"]) .nm-copy p,:root:not([data-theme="light"]) .nm-badges span{color:#F1D9C9}:root:not([data-theme="light"]) .btn-ghost{color:#FFF1DE;border-color:rgba(255,255,255,.35);background:transparent}}
@media (max-width:640px){.nm-art{opacity:.45}}
/* 장바구니 담기 확인 창 */
.added-box{gap:14px;width:min(400px,100%)}
.added-head{display:flex;align-items:center;gap:10px}
.added-head h2{font-size:19px}
.added-check{width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.added-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px}
.added-item .tile{width:64px;border-radius:8px}
.added-item .nm{font-weight:700;font-size:14px;line-height:1.35}
.added-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:640px){.modal{align-items:end;padding:0}.modal-box{border-radius:18px 18px 0 0;width:100%;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}}
.pccc-help{color:var(--jade);font-weight:700;text-align:left;padding:2px 0;font-size:13px}
.pccc-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px}
/* 간편 로그인 버튼 (각 회사 안내 색상) */
.social{display:grid;gap:8px}
.social-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:10px;font-weight:700;font-size:15px;text-decoration:none;border:1px solid transparent}
.social-btn svg{width:20px;height:20px}
.s-kakao{background:#FEE500;color:rgba(0,0,0,.85)}
.s-naver{background:#03C75A;color:#fff}
.s-google{background:#fff;color:#1F1F1F;border-color:#DADCE0}
.s-line{background:#06C755;color:#fff}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
/* 링크로 신청 */
.rq-hero{display:grid;gap:12px}
.rq-input{display:flex;gap:8px}
.rq-input input{flex:1;min-width:0;height:52px;border:2px solid var(--jade);border-radius:12px;padding:0 14px;font:inherit;font-size:16px;background:var(--surface);color:var(--ink)}
.rq-malls{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rq-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;align-items:start}
.rq-card .tile{border-radius:12px;border:1px solid var(--line)}
.rq-body{display:grid;gap:8px;min-width:0}
.rq-body .nm{font-weight:800;font-size:17px;line-height:1.35}
.rq-body .pr{color:var(--jade);font-size:20px}
.rq-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rq-ph{aspect-ratio:1/1;border-radius:12px;background:var(--surface-2)}
.rq-line{height:14px;border-radius:7px;background:var(--surface-2);margin-bottom:8px}.rq-line.short{width:60%}
.rq-loading .rq-ph,.rq-loading .rq-line{animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.5}}
@media (max-width:520px){.rq-card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px}}
.layout2>*{min-width:0}.rq-hero,.rq-card{min-width:0;max-width:100%}.rq-input .btn{flex:none}
.rq-hero,.rq-body{grid-template-columns:minmax(0,1fr)}
/* 상품 상세: 사진 여러 장, 상세 설명 */
.gallery{display:grid;gap:8px;max-width:460px;width:100%}
.gallery .g-main{border-radius:16px;border:1px solid var(--line)}
.thumbs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.thumb{flex:none;width:58px;height:58px;border-radius:8px;border:1px solid var(--line);background:#fff;padding:0;cursor:pointer;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:contain}
.thumb[aria-pressed="true"]{border-color:var(--jade);box-shadow:inset 0 0 0 1px var(--jade)}
.pd-detail{display:grid;gap:14px;max-width:860px}
.props th{width:30%;white-space:nowrap}
.pd-desc{white-space:pre-line;font-size:14px;line-height:1.75;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}
.pd-imgs{display:grid;gap:0;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.pd-imgs img{width:100%;height:auto;display:block}
.opt small{color:var(--muted);font-weight:500}
