.shop-hero .hero-photo { background: #e9e6de; }
.shop-hero .hero-photo img { object-fit: contain; object-position: right center; padding: 3% 3% 4% 7%; }
.shop-hero .hero-photo::after { background: linear-gradient(90deg, var(--pine), #14241e10 23%, transparent 36%); }
.shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shop-grid .offer-photo { background: #e9e6de; object-fit: contain; padding: 10px; }
.shop-grid .offer-body h3 { font-size: clamp(28px, 2.9vw, 38px); }
.shop-detail { width: 100%; }
.shop-detail summary { min-height: 44px; padding: 9px 0; color: #2f4a3a; font-weight: 650; }
.shop-detail[open] p { margin-bottom: 12px; }
.shop-cart { max-width: 600px; margin-top: 22px; padding: clamp(17px, 3vw, 30px); background: var(--white); border: 1px solid var(--line); border-radius: 6px; }
.shop-cart ul { padding-left: 20px; }
.shop-cart ul:empty { display: none; }
.shop-cart [hidden] { display: none; }

@media (max-width: 740px) {
  .shop-grid { grid-template-columns: minmax(0, 1fr); }
  .shop-hero .hero-photo img { object-position: center; padding: 3% 4% 8%; }
  .shop-hero .hero-photo::after { background: linear-gradient(0deg, #12231f22, transparent 36%); }
}
