.shop-block{max-width:1180px;margin:0 auto;padding:2rem 22px 1rem}
.shop-block h2{font-size:clamp(1.5rem,5vw,2.4rem);line-height:1.1;margin:.4rem 0 1rem}
.shop-note{border-left:4px solid var(--accent,#b83e2b);background:#eae7df;padding:.9rem 1rem;margin:0 0 1rem;font-size:1rem;line-height:1.6}
.shop-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.9rem}
.shop-card{display:flex;gap:.9rem;border:1px solid var(--line,#d2d4cc);background:#f8f8f2;padding:.8rem;color:inherit;text-decoration:none;min-height:44px;transition:border-color .2s}
.shop-card:hover,.shop-card:focus-visible{border-color:var(--accent,#b83e2b)}
.shop-img{flex:0 0 96px;aspect-ratio:1}
.shop-img img{width:96px;height:96px;object-fit:cover;display:block;background:#e6e4dc}
.shop-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.shop-body strong{font-size:1rem;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.shop-price{font-size:1.3rem;font-weight:700}
.shop-price small{font-size:.85rem;font-weight:500;color:var(--muted,#606563)}
.shop-meta{font-size:.9rem;color:var(--muted,#606563)}
.shop-tag{font-size:.85rem;font-weight:600;color:#1f5a3a}
.shop-cta{margin-top:.35rem;align-self:flex-start;background:var(--accent,#b83e2b);color:#fff;font-weight:600;padding:.7rem 1rem;min-height:44px;display:inline-flex;align-items:center;gap:.5rem}
.shop-foot{font-size:.9rem;color:var(--muted,#606563);margin:1rem 0 0}
@media(min-width:760px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.shop-grid{grid-template-columns:repeat(3,1fr)}.shop-card{flex-direction:column}.shop-img,.shop-img img{flex:none;width:100%;height:auto;aspect-ratio:1}}
