.shop-page{max-width:1280px;margin:0 auto;padding:28px 40px 72px;color:var(--ui-ink)}
.shop-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;color:var(--ui-ink-3);margin-bottom:32px}
.shop-breadcrumb a{padding:8px 0}.shop-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.shop-heading{margin-bottom:32px}.shop-heading h1{font-size:clamp(30px,4vw,46px);line-height:1.2;letter-spacing:-.04em;margin:10px 0 16px}.shop-heading>p:last-child{color:var(--ui-ink-3);line-height:1.8}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.shop-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--ui-line);border-radius:var(--ui-radius-m);overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
.shop-card:hover{border-color:var(--ui-line-strong);box-shadow:var(--ui-shadow-1)}
.shop-art{position:relative;min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;overflow:hidden;padding:30px;color:var(--ui-accent)}
.shop-tone-blue{background:var(--ui-accent-soft)}.shop-tone-sage{background:#e5efe8}.shop-tone-slate{background:var(--ui-surface-2)}
.shop-art-mark{font-size:clamp(20px,2.5vw,34px);line-height:1.3;font-weight:650;letter-spacing:-.02em;text-align:center}
.shop-tone-blue .shop-art-mark{font-family:Georgia,serif;font-style:italic;letter-spacing:.06em}
.shop-art img{max-width:100%;width:260px;height:145px;object-fit:contain}.shop-art:has(img){gap:10px}
.shop-art-caption{font-size:12px;color:var(--ui-ink-3)}
.shop-art-lines{display:flex;align-items:center;gap:12px;height:75px;transform:rotate(-10deg)}.shop-art-lines i{display:block;width:46px;height:62px;border:1px solid currentColor;border-radius:8px;opacity:.4}.shop-art-lines i:nth-child(2){height:80px;opacity:.7}.shop-art-lines i:nth-child(3){height:52px}
.shop-card-body{display:flex;flex-direction:column;flex:1;padding:24px}.shop-category{font-size:12px;color:var(--ui-ink-3)}
.shop-card h2,.shop-card h3{font-size:23px;line-height:1.4;margin:8px 0 10px;letter-spacing:-.03em}.shop-card-body>p{font-size:14px;color:var(--ui-ink-3);line-height:1.8;margin:0 0 24px}
.shop-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.shop-card-bottom>span:last-child{font-size:12px;color:var(--ui-ink-3)}
.shop-card-price{display:inline-flex;align-items:center;gap:10px}.shop-card-price strong{font-size:18px;font-weight:600}.shop-free{display:inline-block;font-size:11px;font-weight:600;border:1px solid var(--ui-line-strong);border-radius:var(--ui-pill);padding:3px 9px;background:#fff;color:var(--ui-accent);line-height:1.4;white-space:nowrap}
.shop-product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;margin-bottom:52px}
.shop-product-hero>.shop-art{min-height:410px;border-radius:var(--ui-radius-m)}.shop-product-hero .shop-art-mark{font-size:clamp(25px,3vw,44px)}.shop-product-hero .shop-art img{width:390px;height:245px}
.shop-product-summary h1{font-size:clamp(30px,3.6vw,44px);line-height:1.25;letter-spacing:-.05em;margin:12px 0 18px}.shop-lead{font-size:17px;color:var(--ui-ink-3);line-height:1.8;margin:0}
.shop-price{border-top:1px solid var(--ui-line);margin:24px 0;padding-top:20px;display:grid;gap:18px}.shop-price>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.shop-price dt{font-size:13px;color:var(--ui-ink-3)}.shop-price dd{display:flex;align-items:center;gap:14px;margin:0;font-size:14px}.shop-price strong{font-size:30px;line-height:1.3;font-weight:600}
.shop-product-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.shop-product-actions>.button{justify-content:space-between;border-radius:var(--ui-radius-s);padding:15px 20px}.shop-secondary{display:flex;justify-content:center;align-items:center;gap:14px;font-size:13px;min-height:44px}.shop-secondary:hover{text-decoration:underline;text-underline-offset:4px}
.shop-info{padding:32px 0;border-top:1px solid var(--ui-line)}.shop-info>h2,.shop-related h2{font-size:23px;line-height:1.5;font-weight:600;margin:0 0 18px}.shop-info>p{max-width:85ch;font-size:15px;line-height:1.9;color:var(--ui-ink-3)}
.shop-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}.shop-features>div{padding:22px;background:var(--ui-surface);border-radius:var(--ui-radius-s)}.shop-features h3{font-size:16px;line-height:1.5;margin:0 0 12px}.shop-features p{font-size:14px;line-height:1.8;color:var(--ui-ink-3);margin:0}
.shop-steps{display:grid;gap:14px;padding-left:24px;font-size:15px;line-height:1.8}.shop-steps li{padding-left:8px}.shop-info>.shop-note{max-width:none;margin:24px 0 0;padding:16px 20px;background:var(--ui-surface);font-size:13px;border-left:2px solid var(--ui-line-strong)}
.shop-related{padding-top:32px;border-top:1px solid var(--ui-line);margin-top:12px}.shop-related>header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.shop-related>header h2{margin:0}.shop-related>header a{font-size:12px}.shop-related .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.shop-related .shop-art{height:260px;min-height:260px;flex-shrink:0;padding:24px 16px}.shop-related .shop-art img{height:120px}.shop-related .shop-art-mark{font-size:22px}.shop-related .shop-card h2,.shop-related .shop-card h3{font-size:19px}.shop-related .shop-card-body{padding:20px}.shop-related .shop-card-bottom>span:last-child{display:none}
.shop-page a:focus-visible{outline:3px solid var(--ui-link);outline-offset:4px}
.shop-availability{font-size:12px;line-height:1.8;color:var(--ui-ink-3);margin:16px 0 0}.shop-license{text-decoration:underline;text-underline-offset:4px}
.shop-related-intro{font-size:14px;line-height:1.8;color:var(--ui-ink-3);margin:0 0 24px}
.shop-card-body>.shop-recommendation-reason{padding:14px 0 0;margin:0 0 22px;border-top:1px solid var(--ui-line);font-size:13px;line-height:1.8;color:var(--ui-ink-2)}
.shop-recommendation-reason>span{display:block;font-size:11px;color:var(--ui-ink-3);margin-bottom:6px}
.shop-asset-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
@media(min-width:761px){.shop-asset-files:has(>a:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}}
.shop-asset-files>a{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-m);background:#fff;min-width:0}
.shop-asset-files>a:hover{border-color:var(--ui-line-strong);background:var(--ui-surface)}
.shop-file-format{display:flex;align-items:center;justify-content:center;min-width:52px;height:52px;background:var(--ui-accent-soft);border-radius:var(--ui-radius-s);font-size:12px;font-weight:600}
.shop-asset-files>a>span:nth-child(2){min-width:0;flex:1}.shop-asset-files strong{display:block;font-size:15px;line-height:1.5;font-weight:600}.shop-asset-files small{display:block;font-size:12px;line-height:1.7;color:var(--ui-ink-3);margin-top:6px}
.shop-card-compact .shop-art{aspect-ratio:3/2;min-height:0;flex-shrink:0;padding:16px;gap:8px}
.shop-card-compact .shop-art-mark{font-family:inherit;font-style:normal;letter-spacing:.025em;font-size:clamp(13px,1.2vw,18px);line-height:1.35}
.shop-card-compact .shop-art-caption{display:none}.shop-card-compact .shop-art img{width:170px;height:64px}
.shop-card-compact .shop-art-lines{height:34px;gap:7px}.shop-card-compact .shop-art-lines i{width:22px;height:26px;border-radius:5px}.shop-card-compact .shop-art-lines i:nth-child(2){height:34px}.shop-card-compact .shop-art-lines i:nth-child(3){height:22px}
.shop-card-compact .shop-card-body{padding:16px}.shop-card-compact .shop-category{font-size:10px;line-height:1.6}
.shop-card-compact h3{font-size:15px;line-height:1.5;font-weight:600;margin:6px 0 8px;word-break:keep-all}
.shop-card-compact .shop-card-body>p{font-size:12px;line-height:1.75;margin:0 0 16px;min-height:63px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.shop-card-compact .shop-card-bottom{border-top:1px solid var(--ui-line);padding-top:12px;gap:8px;flex-wrap:wrap}.shop-card-compact .shop-card-bottom>span:last-child{font-size:10px}
.shop-card-compact .shop-card-price{gap:7px}.shop-card-compact .shop-card-price strong{font-size:16px}.shop-card-compact .shop-free{font-size:10px;padding:3px 7px}
@media(min-width:1100px){
 .store-layout .browse-content>.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
 .store-layout .browse-content>.shop-grid .shop-art{height:auto;aspect-ratio:3/2;min-height:0;flex-shrink:0;gap:10px}.store-layout .browse-content>.shop-grid .shop-art:not(.shop-art-cover){padding:16px}.store-layout .browse-content>.shop-grid .shop-art-mark{font-size:18px}.store-layout .browse-content>.shop-grid .shop-art:not(.shop-art-cover) img{height:68px}
 .store-layout .browse-content>.shop-grid .shop-card-body{padding:20px}.store-layout .browse-content>.shop-grid .shop-card h2{font-size:19px}.store-layout .browse-content>.shop-grid .shop-card-bottom{flex-wrap:wrap;gap:8px}
}
@media(max-width:900px){.shop-product-hero{gap:28px}.shop-product-hero>.shop-art{min-height:350px}.shop-features{gap:14px}.shop-related .shop-grid{gap:14px}.shop-related .shop-card-bottom{flex-wrap:wrap}}
@media(max-width:760px){
 .shop-card-compact .shop-card-body{padding:14px}.shop-card-compact h3{font-size:14px}.shop-card-compact .shop-card-body>p{font-size:11px;min-height:57.75px}.shop-card-compact .shop-art{padding:12px}.shop-card-compact .shop-art img{height:58px}.shop-card-compact .shop-card-price strong{font-size:15px}
 .shop-asset-files{grid-template-columns:1fr;gap:12px}.shop-asset-files>a{padding:18px;gap:12px}.shop-asset-files strong{font-size:14px}.shop-related-intro{font-size:13px}
 .shop-page{padding:20px 20px 44px}.shop-breadcrumb{gap:8px;margin-bottom:20px;font-size:11px}.shop-heading{margin-bottom:24px}.shop-grid{gap:20px;grid-template-columns:1fr}.shop-card-body{padding:22px}.shop-art{min-height:230px}
 .shop-product-hero{grid-template-columns:1fr;gap:26px;margin-bottom:34px}.shop-product-hero>.shop-art{min-height:280px}.shop-product-hero .shop-art img{height:190px}.shop-product-summary h1{font-size:32px}.shop-lead{font-size:15px}.shop-price{margin:22px 0}.shop-info{padding:26px 0}.shop-features{grid-template-columns:1fr;gap:12px}.shop-features>div{padding:20px}.shop-info>h2,.shop-related h2{font-size:21px}.shop-steps{font-size:14px}.shop-related .shop-grid{grid-template-columns:1fr;gap:20px}.shop-related>header{gap:10px}.shop-related>header a{font-size:11px;white-space:nowrap}.shop-related .shop-card-bottom>span:last-child{display:block}
}
.shop-badge{display:inline-block;font-size:11px;font-weight:600;border:1px solid var(--ui-line-strong);border-radius:var(--ui-pill);padding:3px 9px;background:#fff;color:var(--ui-accent);line-height:1.4;white-space:nowrap}
.shop-card-price:has(.shop-token-label){flex-wrap:wrap}.shop-price .shop-token-label{font-size:20px}.shop-card-compact .shop-badge{font-size:10px;padding:3px 7px}
.shop-billing-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:var(--ui-radius-s);background:var(--ui-accent-soft);font-size:14px;line-height:1.6}.shop-billing-status strong{font-weight:600}
.shop-rate-table{margin:26px 0 20px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-m);overflow:hidden}.shop-rate-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.shop-rate-table caption{text-align:left;padding:20px;background:var(--ui-surface)}.shop-rate-table caption strong{display:block;font-size:18px;font-weight:600;margin-bottom:6px}.shop-rate-table caption span{font-size:12px;color:var(--ui-ink-3)}
.shop-rate-table th,.shop-rate-table td{padding:15px 20px;border-top:1px solid var(--ui-line);text-align:left}.shop-rate-table thead th{font-size:12px;color:var(--ui-ink-3);font-weight:500}.shop-rate-table tbody th{font-weight:500}.shop-rate-table tr>:last-child{text-align:right}.shop-rate-table td{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.shop-token-pricing>.shop-token-help,.shop-token-pricing>.shop-token-scope{font-size:13px;max-width:100ch}.shop-pricing-source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;line-height:1.7;color:var(--ui-ink-3);margin-top:20px}
@media(max-width:760px){.shop-billing-status{padding:16px;font-size:13px}.shop-rate-table caption{padding:16px}.shop-rate-table th,.shop-rate-table td{padding:14px 16px}.shop-rate-table thead th{font-size:11px}.shop-rate-table tbody th{font-size:13px}}
.shop-art.shop-art-cover{padding:0;isolation:isolate;background:#eaf0f4}
.shop-grid>.shop-card>.shop-art{aspect-ratio:3/2;height:auto;min-height:0}
.shop-art.shop-art-cover img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.shop-product-hero>.shop-art-cover{aspect-ratio:3/2;min-height:0}
@media(prefers-reduced-motion:reduce){.shop-card{transition:none}}

/* Metheus Curated 부품: 상점 카드·상세 골격을 그대로 쓰고, 분류 선 그림과 핵심 사양 한 줄만 더한다. */
.curated-art .shop-art-mark{font-family:inherit;font-style:normal;letter-spacing:.02em}
.curated-art.has-render{padding:0;gap:0;position:relative}
/* 상점 격자 · 상세의 .shop-art img 크기 규칙보다 앞서도록 선택자를 구체적으로 둔다. */
.shop-art.curated-art.has-render>img.curated-render,.shop-grid .shop-art.curated-art.has-render>img.curated-render,.shop-product-hero .shop-art.curated-art.has-render>img.curated-render{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;padding:0 2% 9%}
.curated-art.has-render .shop-art-caption{position:absolute;left:0;right:0;bottom:10px;text-align:center}
.curated-model-badge{position:absolute;top:10px;left:10px;padding:2px 8px;border-radius:var(--ui-pill);background:var(--ui-surface);color:var(--ui-ink-3);font-size:11px;font-weight:600}
.shop-availability.curated-render-note{font-size:12px}
.curated-art-icon{display:block;width:min(46%,150px);color:var(--ui-ink-3);opacity:.8}
.curated-art-icon svg{display:block;width:100%;height:auto}
.curated-art-icon.is-drawing{width:min(78%,240px);opacity:1;color:var(--ui-ink-2)}
.curated-drawing-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
.curated-drawing figure{margin:0;padding:16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-s);background:var(--ui-surface);color:var(--ui-ink-2)}
.curated-drawing figure svg{display:block;width:100%;height:auto}
.curated-drawing figcaption{margin-top:10px;font-size:12px;line-height:1.7;color:var(--ui-ink-3)}
.curated-drawing-body .tip-table{margin:0}
.curated-drawing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:20px}
.shop-info>p.curated-drawing-note{margin-top:12px;font-size:12px}
.shop-card-body>p.curated-headline{margin:-12px 0 20px;font-size:13px;line-height:1.6;color:var(--ui-ink-2);font-variant-numeric:tabular-nums}
.curated-tier{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:var(--ui-pill);background:var(--ui-surface-2);color:var(--ui-ink-2);font-size:11px;font-weight:600;vertical-align:1px}
.curated-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 32px;padding:18px 20px;background:var(--ui-surface);border-radius:var(--ui-radius-s)}
.curated-intro p{margin:0;max-width:70ch;font-size:14px;line-height:1.8;color:var(--ui-ink-3)}
.curated-intro .text-button{flex-shrink:0;white-space:nowrap}
.curated-group-title{display:flex;align-items:baseline;gap:8px;margin:0 0 16px;font-size:20px;font-weight:600}
.shop-grid+.curated-group-title{margin-top:40px}
.curated-group-title small{font-size:13px;font-weight:500;color:var(--ui-ink-3)}
.curated-note{margin:8px 0 0;font-size:12px;line-height:1.7;color:var(--ui-ink-3)}
.curated-fit{grid-template-columns:repeat(2,minmax(0,1fr))}
.curated-fit ul{margin:0;padding-left:18px;font-size:14px;line-height:1.8;color:var(--ui-ink-3)}
.curated-detail .tip-table{margin:0 0 24px}
/* 부품 표는 항목 · 값 두 칸이라 옆으로 밀지 않고 값을 줄바꿈한다. 항목 칸만 한 줄로 둔다. */
.curated-detail .tip-table td{white-space:normal;line-height:1.6}
.curated-detail .tip-table tbody th{width:9em}
.curated-detail .tip-agent,.curated-detail .tip-related,.curated-detail .tip-sources{margin-top:32px}
@media(max-width:640px){.curated-intro{flex-direction:column;gap:12px}.curated-fit{grid-template-columns:1fr}.curated-drawing-body{grid-template-columns:1fr;gap:18px}}
/* 추천 도구 세트. 세트마다 단계 목록과 지시문 복사 한 개. */
.shop-toolkit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:26px}
.shop-toolkit{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--ui-surface);border-radius:var(--ui-radius-s)}
.shop-toolkit h3{font-size:17px;line-height:1.5;margin:0 0 6px}.shop-toolkit header p{font-size:13px;line-height:1.7;color:var(--ui-ink-3);margin:0}
.shop-toolkit ol{counter-reset:toolkit-step;list-style:none;display:grid;gap:12px;margin:0;padding:0}
.shop-toolkit li{counter-increment:toolkit-step;position:relative;padding-left:34px}
.shop-toolkit li::before{content:counter(toolkit-step);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;border:1px solid var(--ui-line-strong);font-size:12px;line-height:20px;text-align:center;color:var(--ui-ink-2)}
.shop-toolkit li a{display:inline-flex;align-items:center;gap:8px;font-size:14px}.shop-toolkit li a:hover strong{text-decoration:underline;text-underline-offset:4px}
.shop-toolkit li p{font-size:13px;line-height:1.7;color:var(--ui-ink-3);margin:4px 0 0}
.shop-toolkit-optional{font-size:11px;line-height:1.6;padding:1px 8px;border-radius:var(--ui-pill);background:var(--ui-surface-2);color:var(--ui-ink-3)}
.shop-toolkit-result{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--ui-line);font-size:13px;line-height:1.7;color:var(--ui-ink-2)}.shop-toolkit-result span{display:block;font-size:11px;color:var(--ui-ink-3)}
.shop-toolkit .shop-secondary{justify-content:space-between;min-height:40px;padding:0 16px;border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-s);background:none;color:inherit;font:inherit;font-size:13px;cursor:pointer}
@media(max-width:640px){.shop-toolkit-list{grid-template-columns:1fr;gap:14px}.shop-toolkit{padding:20px}}
