:root{--red:#a3241c;--ink:#1f2328;--muted:#5f6670;--gold:#b88a2e;--bg:#faf7f2;--card:#fff;--line:#e7e1d6}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans SC",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
a{color:var(--red)}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
.logo{font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px}
.logo span.seal{background:var(--red);color:#fff;width:34px;height:34px;display:grid;place-items:center;border-radius:6px;font-size:1.1rem}
nav a{margin-left:18px;text-decoration:none;color:var(--ink);font-size:.95rem}nav a:hover{color:var(--red)}
.btn{display:inline-block;border:0;cursor:pointer;background:var(--red);color:#fff;padding:11px 18px;border-radius:8px;font-weight:600;text-decoration:none;font-size:.95rem}
.btn.ghost{background:transparent;color:var(--red);border:1.5px solid var(--red)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:64px 0}
.hero h1{font-size:2.6rem;line-height:1.15;margin:.2em 0}.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.hero img{width:100%;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.notice{background:#fff4e5;border:1px solid #f0d7ac;padding:12px 16px;border-radius:8px;font-size:.92rem;margin-top:18px}
section{padding:56px 0;border-top:1px solid var(--line)}h2{font-size:1.8rem;margin:0 0 8px}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.tab{border:1.5px solid var(--line);background:#fff;padding:9px 16px;border-radius:999px;cursor:pointer;font-weight:600}
.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee}
.card .b{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.sku{font-size:.78rem;color:var(--muted);font-family:ui-monospace,monospace}.card h3{margin:0;font-size:1.02rem}
.badge{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:5px;align-self:flex-start}
.badge.lunar{background:#fbe6e3;color:var(--red)}.badge.usa{background:#e8eef6;color:#264a7a}
.lock{margin-top:auto;font-size:.85rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.box h3{margin-top:0}
.modal{position:fixed;inset:0;background:rgba(20,20,20,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal.open{display:flex}.panel{background:#fff;border-radius:14px;max-width:880px;width:100%;max-height:90vh;overflow:auto;position:relative}
.panel .x{position:absolute;right:12px;top:8px;font-size:1.6rem;background:none;border:0;cursor:pointer}
.pd{display:grid;grid-template-columns:1fr 1fr}.pd img{width:100%;height:100%;object-fit:cover;min-height:280px}
.pd .b{padding:24px}dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.92rem}dt{font-weight:700;color:var(--muted)}dd{margin:0}
.infobox{background:#f4f1ec;border-radius:8px;padding:12px 14px;margin:16px 0;font-weight:600}
form label{display:block;font-size:.88rem;font-weight:600;margin:10px 0 4px}form input,form textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;font:inherit}
footer{background:var(--ink);color:#cfd3d8;padding:36px 0;font-size:.9rem}footer a{color:#fff}
.demo{margin-top:14px;font-size:.82rem;color:#9aa1a9}
table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}td,th{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
@media(max-width:820px){.hero,.pd{grid-template-columns:1fr}.hero h1{font-size:2rem}nav a.hide-m{display:none}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.chip{display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:.82rem;cursor:pointer}.chip i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}.chip.on{border-color:var(--red);box-shadow:0 0 0 2px #fbe6e3}.vlabel{margin-top:14px;font-size:.92rem}.pimg{position:relative}.pimg img{width:100%;height:100%;object-fit:cover;min-height:280px}.pimg span{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600}
.annc{background:var(--red);color:#fff;text-align:center;font-size:.82rem;padding:6px 12px}.strip{display:flex;flex-wrap:wrap;gap:12px 28px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:12px 16px;margin:6px 0 16px;font-size:.92rem}.tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.tools input{flex:1;min-width:220px;max-width:420px;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;font:inherit}.tab.sm{padding:6px 12px;font-size:.82rem}#subs{margin:12px 0 20px}
.spec{padding:0 24px 24px}.spec h3{margin:8px 0}

.fgrid{display:grid;grid-template-columns:2fr 1.2fr 1.2fr;gap:24px;margin-bottom:16px}
@media(max-width:800px){.fgrid{grid-template-columns:1fr}}
.dspec{width:100%;border-collapse:collapse;margin:10px 0;font-size:.92rem}
.dspec th{text-align:left;width:8rem;color:#666;padding:4px 8px 4px 0;vertical-align:top;font-weight:600}
.dspec td{padding:4px 0;border-top:1px solid #eee}
.hint{font-size:.88rem;color:#555;margin:8px 0;line-height:1.45}
.steps{padding-left:1.2em;line-height:1.55}
.steps li{margin:12px 0}
.pimg span{display:block;background:rgba(0,0,0,.5);color:#fff;font-size:.75rem;text-align:center;padding:3px}

/* v8: preserve full individual compositions, never crop collage tiles. */
.card img{aspect-ratio:1/1;object-fit:contain}.pd img,.pimg img{object-fit:contain;height:auto;min-height:0}.hero-type{background:#292923;color:#f8eedc;padding:48px 32px;border:1px solid #c5ab72;border-radius:14px;display:flex;flex-direction:column;gap:28px}.hero-type strong{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);line-height:1.15;font-weight:400}.hero-type span,.hero-type small{letter-spacing:.16em;font-size:.75rem}.catalog-paused{font-size:.82rem}

.estbar{background:#fff3e0;border:1px solid #e0a060;color:#7a2e00;font-size:.85rem;font-weight:600;padding:6px 10px;margin:10px 0 4px;border-radius:4px}.dspec.est td{background:#fffaf3}

.image-pending{min-height:180px;display:flex;align-items:center;justify-content:center;padding:24px;background:#f3efe8;color:#555;text-align:center;border:1px dashed #c7bda9;font-size:14px;box-sizing:border-box}

/* v10 no-images: clean fallback while product images are not uploaded */
.card img,.pimg img{background:linear-gradient(135deg,#f3efe8 0%,#e9e1d3 100%);color:transparent}
.card .image-pending{aspect-ratio:1/1;min-height:0}
.pimg .image-pending{min-height:280px;height:100%}
