/* ショップ /shop/ と /shop/<商品>/（2026-09-24）。org.css の上に読む。⚠️ カードの class は .shp（.sp は org.css の「スマホだけ表示」と衝突する）*/
.sp-wrap{max-width:1000px;padding-top:8px;padding-bottom:64px}
.sp-wrap h1{font-size:var(--fs-h1);margin:14px 0 10px;text-wrap:pretty;line-break:strict}
.sp-wrap .lead{line-height:1.9;margin:0 0 20px}
.sp-wrap h2{font-size:var(--fs-h2);margin:0 0 12px}
.sp-wrap .small{font-size:var(--fs-small);color:var(--c-muted);margin:8px 0 0;line-height:1.7}
.lnk{color:var(--c-green-text);font-weight:700;text-decoration:none}.lnk:hover{text-decoration:underline}
/* 一覧 */
.sp-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px;margin:0 0 30px}
.shp{display:flex;flex-direction:column;border:2px solid var(--c-line);border-radius:var(--r-l);overflow:hidden;background:var(--c-paper);text-decoration:none;color:var(--c-ink)}
.sp-p{display:block;aspect-ratio:1;background:#fff;overflow:hidden}
.sp-p img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.shp:hover .sp-p img{transform:scale(1.04)}
.sp-b{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;flex:1}
.sp-t{font-size:.98rem;line-height:1.45}
.sp-l{font-size:.8rem;color:var(--c-muted);line-height:1.6}
.sp-y{margin-top:auto;padding-top:6px;font-weight:700;font-size:1.25rem;color:var(--c-green-text)}
.sp-y small{font-size:.75rem;font-weight:700;color:var(--c-muted);margin-left:4px}
.sp-free{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--c-tint);border-radius:var(--r-l);padding:18px 22px;margin:0 0 30px}
.sp-free h2{font-size:1.1rem;margin:0 0 4px}.sp-free p{margin:0;font-size:.92rem;color:var(--c-muted);line-height:1.7}
.sp-notes ul{margin:0;padding-left:1.2em;line-height:1.9}
/* 商品ページ */
.sp-item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start;margin:8px 0 36px}
.sp-main{background:#fff;border:2px solid var(--c-line);border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.sp-main img{width:100%;height:100%;object-fit:contain;display:block}
.sp-ths{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sp-th{position:relative;width:72px;height:72px;padding:0;border:2px solid var(--c-line);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer}
.sp-th img{width:100%;height:100%;object-fit:cover;display:block}
.sp-th.on{border-color:var(--c-green)}
.sp-th span{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:.62rem;text-align:center;line-height:1.5}
.sp-info h1{margin:0 0 6px}
.sp-lead{margin:0 0 14px;line-height:1.8}
.sp-price{margin:0 0 14px;font-weight:700;font-size:1.9rem;line-height:1.2;color:var(--c-green-text)}
.sp-price small{font-size:.85rem;color:var(--c-muted);margin-left:4px}
.sp-base{display:block;font-size:.8rem;font-weight:400;color:var(--c-muted);margin-top:2px}
.sp-spec{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 16px;font-size:.9rem;line-height:1.7}
.sp-spec dt{color:var(--c-muted);white-space:nowrap}.sp-spec dd{margin:0}
.sp-buy-box{margin:0 0 18px}
.sp-buy{width:100%;min-height:52px;font-size:1.05rem}
.sp-soon{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:2px solid var(--c-line);border-radius:var(--r-pill);font-weight:700;color:var(--c-muted);background:var(--c-tint)}
.sp-desc{margin:0 0 14px;line-height:1.85}
.sp-note{margin:0;padding-left:1.2em;font-size:.82rem;color:var(--c-muted);line-height:1.8}
.sp-others{border-top:2px solid var(--c-line);padding-top:22px}
.sp-others .sp-g{margin-bottom:10px}
@media(max-width:760px){.sp-item{grid-template-columns:1fr;gap:18px}.sp-g{grid-template-columns:1fr 1fr;gap:10px}.sp-free{padding:16px}}
