.shop-main{padding:44px 0 72px}
.crumbs{font-size:14px;color:var(--ink-2);margin-bottom:22px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.shop-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36ch);gap:20px 48px;align-items:end;margin-bottom:28px}
.shop-head h1{font-size:clamp(34px,4.6vw,56px)}
.shop-head p{color:var(--ink-2)}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px}
.filters select,.filters input{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;font-size:15px;background:#fff;min-width:200px}
.filters input{flex:1 1 260px}
.filters .count{font-size:14px;color:var(--ink-2);margin-left:auto}
.list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.list li{border-bottom:1px solid var(--line)}
.list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:baseline;padding:14px 0;text-decoration:none}
.list a:hover b{text-decoration:underline}
.list b{font-weight:500}
.list .meta{font-size:13.5px;color:var(--ink-2);grid-column:1}
.list .price{font-family:var(--serif);font-size:20px;white-space:nowrap;grid-row:span 2}
.list li[hidden]{display:none}
.product{display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,4fr);gap:48px;align-items:start}
.product h1{font-size:clamp(32px,4.2vw,52px);margin-bottom:14px}
.product .lead{margin-bottom:28px}
.product h2{font-size:24px;margin:34px 0 12px}
.product ol{padding-left:22px;list-style:decimal;display:grid;gap:10px}
.product .sources li{padding:4px 0}
.product .sources a{word-break:break-all;font-size:14.5px}
.buy{position:sticky;top:90px;background:var(--paper-2);border-radius:12px;padding:26px;display:grid;gap:14px}
.buy .price{font-family:var(--serif);font-size:40px;line-height:1}
.buy .price small{font-family:var(--sans);font-size:14px;color:var(--ink-2);display:block;margin-top:6px}
.buy label{display:grid;gap:6px;font-size:14px;color:var(--ink-2)}
.buy input[type=email]{border:1px solid var(--line);border-radius:var(--r);padding:11px 12px;font-size:16px;background:#fff;width:100%}
.buy .check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-2)}
.buy .check input{width:18px;height:18px;margin-top:2px}
.buy .btn{justify-content:center}
.buy .note{font-size:13.5px;color:var(--ink-2)}
.buy .note a{text-decoration:underline}
.tag{display:inline-block;font-size:13px;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;margin:0 6px 10px 0}
.status-box{max-width:64ch;display:grid;gap:16px}
.status-box h1{font-size:clamp(30px,4vw,46px)}
.status-box .big{font-size:18px}
.dl{display:inline-flex;align-items:center;gap:10px;padding:16px 24px;border-radius:var(--r);background:var(--stamp);color:#fff;text-decoration:none;font-weight:500;font-size:18px}
.dl:hover{background:var(--stamp-dark);color:#fff}
.notice{background:#fff7e6;border:1px solid #f0d9a8;border-radius:var(--r);padding:12px 14px;font-size:14.5px}
.err{background:#fdecec;border:1px solid #f1b3b3;border-radius:var(--r);padding:12px 14px;font-size:14.5px}
@media(max-width:900px){.product{grid-template-columns:1fr}.buy{position:static}.shop-head{grid-template-columns:1fr}.list a{grid-template-columns:1fr}.list .price{grid-row:auto}}
