/* Vetrina «Frames I love»: unica fonte, usata dalla home e da «More frames I love» nella scheda prodotto. */
.shop-gallery { background:radial-gradient(ellipse at 75% 50%, color-mix(in srgb, #e07840 var(--glow,13%), transparent), transparent 60%), var(--ink); }
.shop-grid { display:flex; align-items:flex-start; gap:2vw; overflow-x:auto; overflow-y:hidden; padding:0 6vw 18px; scroll-padding-inline:6vw; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; }
.shop-grid::-webkit-scrollbar { display:none; }
.shop-card { --frame-long:min(25vw,50vh); flex:0 0 34vw; min-width:0; display:grid; grid-template-rows:var(--frame-long) auto auto; align-content:start; scroll-snap-align:start; }
.shop-info { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:22px; }
.shop-info, .shop-notice { width:min(calc(var(--frame-long) * 5 / 7),100%); margin-left:auto; margin-right:auto; }
.shop-frame-link { display:grid; cursor:pointer; } .shop-title-link { color:inherit; text-decoration:none; }
.shop-card:has(.roedalm.landscape) .shop-info, .shop-card:has(.roedalm.landscape) .shop-notice { width:min(var(--frame-long),100%); }
.shop-info h3 { font-family:var(--serif); font-size:clamp(24px,2.3vw,34px); font-weight:400; line-height:1.05; }
.shop-price { margin-top:4px; color:#ffffffa6; font-size:14px; }
.shop-buy { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 20px; border:1px solid var(--bronze); border-radius:30px; background:var(--bronze); color:#fff; font:inherit; font-size:13px; transition:.25s; }
a.shop-buy:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.shop-buy.placeholder { cursor:default; }
.shop-notice { margin-top:9px; color:#ffffff69; font-size:11px; letter-spacing:.02em; }
.shop-empty { grid-column:1/-1; color:#ffffff80; }
@media (max-width:820px) {
  .shop-gallery { overflow:hidden; }
  .shop-grid { display:flex; gap:22px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:6vw; padding:0 6vw 12px; touch-action:pan-x pan-y pinch-zoom; overscroll-behavior-x:contain; scrollbar-width:none; }
  .shop-grid::-webkit-scrollbar { display:none; }
  .shop-card { --frame-long:min(80vw,520px); flex:0 0 84vw; scroll-snap-align:start; }
}
