/* ═══ "Carry the legend" product strip — see js/legend-shop.js ═══════════
   Self-contained on purpose: Stede Bonnet's page doesn't load styles.css,
   so nothing here may lean on the shared custom properties. */
.lshop{ display:none; }
.lshop.is-ready{
  display:block; position:relative; z-index:3;
  background:linear-gradient(180deg,#07090b 0%,#0b0a08 100%);
  border-top:1px solid rgba(183,128,56,.45); border-bottom:1px solid rgba(183,128,56,.45);
  color:#cfc4ae; font-family:'Jost',system-ui,sans-serif;
}
.lshop-inner{
  width:min(100% - 32px, 1480px); margin:0 auto; padding:clamp(28px,4vw,52px) 0;
  display:grid; grid-template-columns:minmax(220px,300px) 1fr; gap:clamp(18px,3vw,44px); align-items:center;
}
.lshop-eyebrow{ margin:0 0 8px; font-size:.62rem; letter-spacing:.24em; text-transform:uppercase; color:#b7803a; }
.lshop-head h2{
  margin:0; font-family:'Cinzel',Georgia,serif; font-weight:600; letter-spacing:.04em;
  font-size:clamp(1.5rem,2.4vw,2.1rem); line-height:1.1; color:#ecd9ae;
}
.lshop-line{ margin:12px 0 18px; font-size:.92rem; line-height:1.55; color:#a89c86; }
.lshop-all{
  display:inline-block; padding:11px 18px; border:1px solid #b7803a; color:#ecd9ae;
  font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; text-decoration:none;
  transition:background .25s, color .25s;
}
.lshop-all:hover,.lshop-all:focus-visible{ background:#c9a25b; color:#0b0a08; }

.lshop-row{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(160px,1fr); gap:12px;
  overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px;
  scrollbar-width:thin; scrollbar-color:#5a4428 transparent;
}
.lshop-card{
  scroll-snap-align:start; display:flex; flex-direction:column; min-width:0;
  background:#0e0f10; border:1px solid rgba(183,128,56,.35); color:inherit; text-decoration:none;
  transition:border-color .25s, transform .25s;
}
.lshop-card:hover,.lshop-card:focus-visible{ border-color:#d6a95a; transform:translateY(-2px); }
.lshop-img{ display:block; aspect-ratio:4/5; overflow:hidden; background:#16130f; }
.lshop-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.lshop-kind{ padding:12px 12px 0; font-size:.56rem; letter-spacing:.16em; text-transform:uppercase; color:#9b7443; }
.lshop-name{
  padding:5px 12px 0; font-family:'Cinzel',Georgia,serif; font-size:.86rem; line-height:1.3; color:#e4cf9f;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.lshop-price{ margin-top:auto; padding:10px 12px 14px; font-size:1rem; font-weight:500; color:#f0dcae; }

@media (max-width:860px){
  .lshop-inner{ grid-template-columns:1fr; }
  .lshop-line{ margin-bottom:14px; }
  .lshop-row{ grid-auto-columns:minmax(150px,44vw); margin-right:-16px; padding-right:16px; }
}
@media (prefers-reduced-motion:reduce){ .lshop-card{ transition:none; } .lshop-card:hover{ transform:none; } }
