:root {
  --shop-red: #be2b27;
  --shop-red-bright: #d73530;
  --shop-cream: #f4ead4;
  --shop-black: #050505;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
button, summary { font: inherit; }

.shop-page {
  background: var(--shop-black);
  color: #f6f2e9;
  font-family: Arial, Helvetica, sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
}

.shop-header {
  align-items: center;
  background: #050505;
  border-bottom: 1px solid rgba(190, 43, 39, .3);
  display: flex;
  height: 98px;
  justify-content: space-between;
  padding: 0 clamp(22px, 3.5vw, 60px);
  position: relative;
  z-index: 30;
}

.shop-brand {
  align-items: center;
  color: white;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  text-decoration: none;
}

.shop-brand img {
  height: 45px;
  object-fit: contain;
  width: 45px;
}

.shop-brand b {
  display: block;
  font-size: 23px;
  font-weight: 900;
  letter-spacing: -.3px;
}

.shop-brand strong { color: var(--shop-red-bright); }

.shop-brand small {
  color: #e7e2da;
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .3px;
  margin-top: 2px;
}

.shop-nav {
  align-items: center;
  display: flex;
  gap: clamp(16px, 2vw, 34px);
}

.shop-nav > a,
.shop-categories > summary {
  color: #eee9de;
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1px;
  list-style: none;
  padding: 42px 0 40px;
  position: relative;
  text-decoration: none;
  white-space: nowrap;
}

.shop-categories > summary::-webkit-details-marker { display: none; }
.shop-categories > summary::after { content: "⌄"; margin-left: 6px; }

.shop-nav > a::before,
.shop-categories > summary::before {
  background: var(--shop-red-bright);
  bottom: 27px;
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  right: 50%;
  transition: left .2s ease, right .2s ease;
}

.shop-nav > a:hover::before,
.shop-nav > a.active::before,
.shop-categories > summary:hover::before,
.shop-categories[open] > summary::before { left: 0; right: 0; }

.shop-categories { position: relative; }

.shop-menu {
  background: rgba(8, 8, 8, .99);
  border: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .65);
  display: grid;
  left: -24px;
  min-width: 205px;
  padding: 9px;
  position: absolute;
  top: 74px;
}

.shop-menu a {
  color: #ddd7ca;
  font-size: 12px;
  font-weight: 700;
  padding: 13px 15px;
  text-decoration: none;
}

.shop-menu a:hover { background: rgba(190, 43, 39, .17); color: white; }

.shop-tools {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 13px;
}

.shop-tools button,
.shop-tools a {
  align-items: center;
  background: transparent;
  border: 0;
  color: white;
  cursor: pointer;
  display: flex;
  font-size: 22px;
  height: 40px;
  justify-content: center;
  padding: 6px;
  position: relative;
  text-decoration: none;
  width: 40px;
}

.shop-cart span {
  background: var(--shop-red-bright);
  border-radius: 999px;
  color: white;
  font-size: 9px;
  font-weight: 900;
  min-width: 18px;
  padding: 4px 5px;
  position: absolute;
  right: -2px;
  top: 0;
}

.shop-tools button:focus-visible,
.shop-tools a:focus-visible,
.shop-btn:focus-visible,
.shop-menu-toggle:focus-visible {
  outline: 2px solid var(--shop-red-bright);
  outline-offset: 3px;
}

.shop-menu-toggle {
  background: none;
  border: 0;
  display: none;
  padding: 10px;
}

.shop-menu-toggle i {
  background: white;
  display: block;
  height: 2px;
  margin: 6px 0;
  width: 27px;
}

.shop-product {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(360px, 1fr);
  min-height: calc(100vh - 98px);
}

.shop-art {
  background-color: #0a0a0a;
  background-image: linear-gradient(90deg, transparent 86%, rgba(5, 5, 5, .9) 100%), url("images/shop-grail-scene.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 760px;
  position: relative;
}

.shop-scene-label {
  background: rgba(0, 0, 0, .62);
  bottom: 21px;
  color: rgba(255, 255, 255, .56);
  display: none;
  font-size: 9px;
  font-weight: 900;
  left: 22px;
  letter-spacing: 1.3px;
  padding: 8px 10px;
  position: absolute;
}

.shop-info {
  align-self: stretch;
  background: #050505;
  padding: clamp(48px, 5vw, 78px) clamp(30px, 4vw, 58px);
}

.shop-eyebrow {
  color: var(--shop-red-bright);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.1px;
  margin-bottom: 15px;
}

.shop-info h1 {
  color: white;
  font-size: clamp(48px, 4.6vw, 72px);
  letter-spacing: -.045em;
  line-height: .92;
  margin: 0 0 18px;
}

.shop-sub {
  color: #aaa6a0;
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
}

.shop-divider {
  background: #292725;
  height: 1px;
  margin: 28px 0 24px;
}

.shop-price {
  color: var(--shop-red-bright);
  font-size: 35px;
  font-weight: 900;
  margin-bottom: 18px;
}

.shop-stock {
  color: #77d849;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .7px;
  margin-bottom: 7px;
}

.shop-shipping {
  color: #9d9992;
  display: block;
  font-size: 12px;
  margin-bottom: 24px;
}

.shop-btn {
  border-radius: 4px;
  cursor: pointer;
  display: block;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .7px;
  margin-bottom: 11px;
  min-height: 58px;
  transition: filter .2s ease, transform .2s ease;
  width: 100%;
}

.shop-btn:hover { filter: brightness(1.13); transform: translateY(-1px); }

.shop-buy {
  background: linear-gradient(135deg, #a8211c, var(--shop-red-bright));
  border: 1px solid var(--shop-red-bright);
  color: white;
}

.shop-wish {
  background: transparent;
  border: 1px solid #55514c;
  color: #eee8dc;
}

.shop-trust {
  display: grid;
  gap: 16px;
  margin-top: 29px;
}

.shop-trust > div {
  align-items: center;
  display: flex;
  gap: 13px;
}

.shop-trust i {
  align-items: center;
  border: 1px solid #4b4742;
  border-radius: 50%;
  color: white;
  display: flex;
  flex: 0 0 auto;
  font-size: 14px;
  font-style: normal;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.shop-trust b {
  display: block;
  font-size: 11px;
  letter-spacing: .4px;
  margin-bottom: 3px;
}

.shop-trust small { color: #8f8b84; display: block; font-size: 10px; }

.shop-warning {
  align-items: center;
  border: 1px solid rgba(190, 43, 39, .62);
  border-radius: 4px;
  display: flex;
  gap: 13px;
  margin-top: 38px;
  padding: 17px;
}

.shop-warning > i {
  align-items: center;
  border: 1px solid rgba(190, 43, 39, .6);
  border-radius: 50%;
  display: flex;
  flex: 0 0 auto;
  font-size: 22px;
  font-style: normal;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.shop-warning b {
  display: block;
  font-size: 10px;
  letter-spacing: .3px;
  margin-bottom: 5px;
}

.shop-warning small { color: #99948d; display: block; font-size: 10px; }

.shop-gallery {
  background: #0a0a0a;
  border-top: 1px solid #1e1d1b;
  padding: 72px clamp(24px, 5vw, 84px) 84px;
  text-align: center;
}

.shop-gallery h2 {
  color: var(--shop-cream);
  font-size: clamp(30px, 4vw, 50px);
  letter-spacing: -.035em;
  margin: 0 0 42px;
}

.shop-tiles {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1500px;
}

.shop-tile {
  background: #111;
  border: 1px solid #24211f;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.shop-tile img {
  aspect-ratio: 4 / 3;
  display: block;
  filter: brightness(.78) saturate(.82);
  object-fit: cover;
  transition: filter .25s ease, transform .4s ease;
  width: 100%;
}

.shop-tile:hover img { filter: brightness(.96) saturate(1); transform: scale(1.025); }

.shop-tile b {
  background: linear-gradient(0deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .1));
  bottom: 0;
  color: white;
  font-size: 12px;
  left: 0;
  letter-spacing: 1.5px;
  padding: 40px 18px 17px;
  position: absolute;
  right: 0;
  text-align: left;
}

.shop-footer {
  background: #050505;
  color: #7f7a71;
  display: flex;
  font-size: 10px;
  gap: 24px;
  justify-content: center;
  letter-spacing: .7px;
  padding: 25px;
}

.shop-toast {
  background: #f2e7d2;
  border-left: 4px solid var(--shop-red-bright);
  bottom: 24px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .55);
  color: #17120f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .45px;
  max-width: calc(100vw - 36px);
  padding: 15px 19px;
  position: fixed;
  right: 24px;
  z-index: 100;
}

@media (max-width: 1250px) {
  .shop-header { height: 80px; }
  .shop-tools { margin-left: auto; margin-right: 14px; }
  .shop-tools button { font-size: 18px; height: 34px; width: 34px; }
  .shop-menu-toggle { display: block; order: 4; }
  .shop-nav {
    align-items: stretch;
    background: rgba(5, 5, 5, .99);
    border-bottom: 1px solid rgba(190, 43, 39, .42);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .6);
    display: grid;
    gap: 0;
    left: 0;
    max-height: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 80px;
    transition: max-height .3s ease;
  }
  .shop-nav.open { max-height: 520px; overflow: visible; }
  .shop-nav > a, .shop-categories > summary { border-bottom: 1px solid #1c1c1c; display: block; padding: 16px 24px; }
  .shop-nav > a::before, .shop-categories > summary::before { display: none; }
  .shop-menu { border-left: 0; border-right: 0; left: 0; position: relative; top: 0; }
  .shop-product { grid-template-columns: minmax(0, 1.75fr) minmax(340px, .85fr); min-height: calc(100vh - 80px); }
}

@media (max-width: 860px) {
  .shop-product { grid-template-columns: 1fr; }
  .shop-art { background-image: linear-gradient(0deg, #050505 0%, transparent 22%), url("images/shop-grail-scene.jpg"); min-height: min(78vh, 720px); }
  .shop-info { padding-top: 38px; }
  .shop-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .shop-brand b { font-size: 17px; }
  .shop-brand small { display: none; }
  .shop-brand img { height: 42px; width: 42px; }
  .shop-tools { display: none; }
  .shop-art { background-position: 42% top; min-height: 560px; }
  .shop-info { padding: 38px 24px 58px; }
  .shop-tiles { grid-template-columns: 1fr; }
  .shop-footer { align-items: center; flex-direction: column; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; }
}


/* Product photo gallery */
.product-photo-stage { background-size: contain; background-position: center; }
.product-thumbs { position:absolute; left:20px; bottom:22px; display:flex; gap:8px; z-index:3; flex-wrap:wrap; max-width:calc(100% - 40px); }
.product-thumbs button { width:62px; height:62px; padding:3px; border:1px solid rgba(255,255,255,.24); background:rgba(0,0,0,.72); cursor:pointer; }
.product-thumbs button.active { border-color:var(--shop-red-bright); }
.product-thumbs img { width:100%; height:100%; object-fit:cover; display:block; }
.product-details-panel { background:#0b0b0b; padding:52px clamp(30px,6vw,90px); border-top:1px solid rgba(255,255,255,.07); }
.product-details-panel h2 { color:#fff; margin:0 0 24px; font-size:clamp(24px,2.4vw,36px); }
.product-spec-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.08); }
.product-spec-grid span { background:#0b0b0b; color:#ddd; padding:18px; font-size:13px; }
.product-spec-grid b { display:block; color:#777; font-size:9px; letter-spacing:1.2px; margin-bottom:7px; }
@media(max-width:900px){.product-spec-grid{grid-template-columns:repeat(2,1fr)}.product-thumbs button{width:48px;height:48px}}

/* Rev15 — smooth illuminated shop navigation + expanded collecting categories */
.shop-nav>a,.shop-categories>summary{transition:color .5s cubic-bezier(.2,.8,.2,1),text-shadow .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1);}
.shop-nav>a:hover,.shop-nav>a:focus-visible,.shop-nav>a.active,.shop-categories>summary:hover,.shop-categories>summary:focus-visible,.shop-categories[open]>summary{color:#fff;text-shadow:0 0 4px rgba(255,255,255,.85),0 0 11px rgba(215,53,48,.78),0 0 24px rgba(215,53,48,.35);transform:translateY(-1px);}
.shop-nav>a::before,.shop-categories>summary::before{height:1px;background:linear-gradient(90deg,transparent,var(--shop-red-bright) 20%,#fff 50%,var(--shop-red-bright) 80%,transparent);box-shadow:0 0 9px rgba(215,53,48,.75);transition:left .48s cubic-bezier(.16,1,.3,1),right .48s cubic-bezier(.16,1,.3,1),opacity .3s ease;opacity:0;}
.shop-nav>a:hover::before,.shop-nav>a:focus-visible::before,.shop-nav>a.active::before,.shop-categories>summary:hover::before,.shop-categories>summary:focus-visible::before,.shop-categories[open]>summary::before{opacity:1;}
.shop-menu{max-height:70vh;overflow:auto;transform:translateY(-8px);opacity:0;transition:opacity .25s ease,transform .38s cubic-bezier(.16,1,.3,1);}
.shop-categories[open] .shop-menu{opacity:1;transform:translateY(0);}
.shop-menu a{transition:color .22s ease,background .22s ease,padding-left .3s cubic-bezier(.16,1,.3,1),text-shadow .22s ease;}
.shop-menu a:hover{padding-left:21px;text-shadow:0 0 9px rgba(215,53,48,.65);}
.shop-menu-label{color:var(--shop-red-bright);font-size:8px;font-weight:900;letter-spacing:2px;padding:10px 15px 5px;border-top:1px solid rgba(255,255,255,.07);}
.shop-menu-label:first-child{border-top:0;}
.catalog-filters{flex-wrap:wrap;}
@media(prefers-reduced-motion:reduce){.shop-nav>a,.shop-categories>summary,.shop-menu,.shop-menu a{transition:none!important;}}


/* Rev22 — compact upcoming releases rail beneath cart */
.cart-upcoming{max-width:1320px;margin:18px auto 58px;padding:30px clamp(18px,4vw,54px);position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(11,12,15,.18),rgba(11,12,15,.72));}
.cart-upcoming-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:20px}.cart-upcoming-head h2{margin:5px 0 0;font-size:clamp(24px,3vw,38px);text-transform:uppercase;letter-spacing:.04em}.cart-upcoming-head p{max-width:520px;margin:0;color:#969aa3;font-size:13px;line-height:1.55}.cart-upcoming-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cart-upcoming-card{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.1);background:rgba(8,9,12,.76);border-radius:8px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}.cart-upcoming-card:hover{transform:translateY(-4px);border-color:rgba(210,38,47,.45);box-shadow:0 16px 34px rgba(0,0,0,.3)}.cart-upcoming-image{height:165px;display:flex;align-items:center;justify-content:center;padding:8px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.07),rgba(0,0,0,.22) 65%);border-radius:5px;overflow:hidden}.cart-upcoming-image img{width:100%;height:100%;object-fit:contain;filter:brightness(.88) contrast(1.05);transition:transform .45s ease,filter .45s ease}.cart-upcoming-card:hover img{transform:scale(1.035);filter:brightness(1) contrast(1.04)}.cart-upcoming-card>span{display:block;margin-top:11px;color:#d6262f;font-size:10px;font-weight:800;letter-spacing:.18em}.cart-upcoming-card h3{font-size:14px;line-height:1.28;margin:6px 0;min-height:36px}.cart-upcoming-card small{display:block;color:#7f838c;font-size:11px;margin-bottom:11px}.cart-preorder{width:100%;min-height:36px;border:1px solid rgba(214,38,47,.7);border-radius:4px;background:rgba(214,38,47,.08);color:#eee;font-size:11px;font-weight:800;letter-spacing:.12em;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s}.cart-preorder:hover{background:rgba(214,38,47,.22);border-color:#e3323b;box-shadow:0 0 18px rgba(214,38,47,.15)}@media(max-width:900px){.cart-upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-upcoming-head{align-items:start;flex-direction:column;gap:8px}}@media(max-width:520px){.cart-upcoming{padding-inline:16px}.cart-upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cart-upcoming-image{height:125px}.cart-upcoming-card{padding:9px}.cart-upcoming-card h3{font-size:12px;min-height:46px}}


/* =========================================================
   Rev67 — Product breadcrumb + desktop product layout repair
   These rules live in shop.css because product pages load this file.
   ========================================================= */

/* Proper Bacon Bin breadcrumb styling — removes browser-default blue links. */
.product-page .product-breadcrumbs{
  max-width:1380px;
  margin:0 auto;
  padding:20px clamp(24px,4vw,58px) 13px;
  min-height:20px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  color:#78736d;
  font:800 9px/1.3 Arial,sans-serif;
  letter-spacing:1.15px;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.045);
}
.product-page .product-breadcrumbs a,
.product-page .product-breadcrumbs a:link,
.product-page .product-breadcrumbs a:visited{
  color:#9b9690;
  text-decoration:none;
  border:0;
  background:none;
}
.product-page .product-breadcrumbs a:hover,
.product-page .product-breadcrumbs a:focus-visible{
  color:#f1f0ed;
  text-decoration:none;
}
.product-page .product-breadcrumbs span{
  margin:0 7px;
  color:#55514d;
}
.product-page .product-breadcrumbs span:last-child{
  margin-left:7px;
  color:#d73530;
}

/* Make the Rev66 compact collector layout actually apply on product pages. */
.product-page .shop-product{
  width:min(1380px,94vw);
  max-width:1380px;
  margin:0 auto 42px;
  padding:20px 0 0;
  min-height:0;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:0;
  background:#070809;
  border:1px solid rgba(255,255,255,.055);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.product-page .shop-art.product-photo-stage{
  position:relative;
  min-height:620px;
  height:620px;
  background-color:#0b0d10;
  background-size:auto 82%;
  background-position:center 42%;
  background-repeat:no-repeat;
  border-right:1px solid rgba(255,255,255,.055);
}
.product-page .shop-art.product-photo-stage::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse 75% 72% at 50% 45%,transparent 0%,transparent 62%,rgba(0,0,0,.12) 82%,rgba(0,0,0,.46) 100%);
  z-index:1;
}
.product-page .product-thumbs{
  z-index:4;
  left:18px;
  right:18px;
  bottom:16px;
  max-width:none;
  justify-content:center;
}
.product-page .product-thumbs button{
  width:54px;
  height:54px;
  background:#080a0c;
  border-color:rgba(255,255,255,.18);
}
.product-page .product-thumbs button.active{
  border-color:#d73530;
  box-shadow:0 0 13px rgba(215,53,48,.25);
}
.product-page .shop-info{
  padding:48px 42px 50px;
  min-width:0;
}

@media(max-width:1000px){
  .product-page .shop-product{grid-template-columns:1fr;}
  .product-page .shop-art.product-photo-stage{
    height:560px;
    min-height:560px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.055);
    background-size:auto 78%;
  }
}
@media(max-width:600px){
  .product-page .shop-product{
    width:100%;
    border-left:0;
    border-right:0;
  }
  .product-page .shop-art.product-photo-stage{
    height:460px;
    min-height:460px;
    background-size:auto 72%;
  }
  .product-page .shop-info{padding:34px 24px 44px;}
  .product-page .product-thumbs{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
}


/* =========================================================
   Rev68 — product photo zoom + larger gallery art + cleaner price
   ========================================================= */

/* Let the actual collectible fill a little more of the display window. */
.product-page .shop-art.product-photo-stage{
  background-size:auto 87%!important;
  cursor:zoom-in;
}
.product-page .shop-art.product-photo-stage.is-zoom-ready::after{
  content:"CLICK TO ZOOM";
  position:absolute;
  z-index:5;
  top:18px;
  right:18px;
  padding:8px 11px;
  color:rgba(255,255,255,.78);
  background:rgba(5,6,8,.72);
  border:1px solid rgba(255,255,255,.13);
  font:800 8px/1 Arial,sans-serif;
  letter-spacing:1.2px;
  pointer-events:none;
  backdrop-filter:blur(8px);
}

/* Price is deliberately quieter now — clean white rather than bright red. */
.product-page .shop-price{
  color:#f4f3ef!important;
  font-size:clamp(25px,2.25vw,31px)!important;
  font-weight:750!important;
  letter-spacing:-.35px!important;
  margin-bottom:17px!important;
  text-shadow:none!important;
}

/* Full-screen product zoom viewer. */
.bb-photo-zoom{
  position:fixed;
  z-index:12000;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(2,3,4,.93);
  backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  transition:opacity .24s ease,visibility 0s linear .24s;
}
.bb-photo-zoom.is-open{
  opacity:1;
  visibility:visible;
  transition-delay:0s;
}
.bb-photo-zoom__panel{
  position:relative;
  width:min(94vw,1500px);
  height:min(92vh,980px);
  display:flex;
  flex-direction:column;
  background:#07090b;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 100px rgba(0,0,0,.65);
}
.bb-photo-zoom__toolbar{
  flex:0 0 auto;
  height:54px;
  padding:0 12px 0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(255,255,255,.075);
  background:#090b0e;
}
.bb-photo-zoom__toolbar span{
  color:#aaa59f;
  font:800 9px/1 Arial,sans-serif;
  letter-spacing:1.25px;
  text-transform:uppercase;
}
.bb-photo-zoom__controls{
  display:flex;
  align-items:center;
  gap:7px;
}
.bb-photo-zoom__controls button{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  background:#0b0d10;
  color:#f3f2ef;
  font-size:18px;
  cursor:pointer;
}
.bb-photo-zoom__controls button:hover{
  border-color:rgba(215,53,48,.65);
  color:#fff;
}
.bb-photo-zoom__viewport{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:
    radial-gradient(circle at 50% 47%,rgba(255,255,255,.045),transparent 56%),
    #050608;
}
.bb-photo-zoom__viewport img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  transform-origin:center center;
  transition:transform .16s ease;
  cursor:zoom-in;
  user-select:none;
  -webkit-user-drag:none;
}
.bb-photo-zoom__viewport img[data-zoomed="true"]{
  cursor:zoom-out;
}
body.bb-photo-zoom-open{
  overflow:hidden;
}

@media(max-width:1000px){
  .product-page .shop-art.product-photo-stage{
    background-size:auto 83%!important;
  }
}
@media(max-width:600px){
  .product-page .shop-art.product-photo-stage{
    background-size:auto 78%!important;
  }
  .product-page .shop-art.product-photo-stage.is-zoom-ready::after{
    top:12px;
    right:12px;
    font-size:7px;
  }
  .bb-photo-zoom{
    padding:8px;
  }
  .bb-photo-zoom__panel{
    width:100%;
    height:96vh;
  }
  .bb-photo-zoom__toolbar span{
    display:none;
  }
  .bb-photo-zoom__toolbar{
    justify-content:flex-end;
  }
}


/* =========================================================
   Rev70 — Product discovery / Related Finds repair
   Product pages load shop.css, so these rules live here.
   ========================================================= */

.product-page .bb-product-discovery{
  width:min(1380px,94vw);
  max-width:1380px;
  margin:0 auto;
  padding:30px 0 54px;
  display:grid;
  gap:30px;
}

.product-page .bb-discovery-group{
  min-width:0;
}

.product-page .bb-discovery-group[hidden]{
  display:none;
}

.product-page .bb-discovery-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.product-page .bb-discovery-head .catalog-kicker{
  display:block;
  color:#a52a27;
  font:800 8px/1 Arial,sans-serif;
  letter-spacing:1.25px;
  text-transform:uppercase;
}

.product-page .bb-discovery-head h2{
  margin:4px 0 0;
  color:#f2f1ed;
  font-family:Bahnschrift Condensed,"Arial Narrow","Segoe UI",sans-serif;
  font-size:clamp(22px,2vw,30px);
  font-weight:750;
  line-height:1;
  letter-spacing:.2px;
}

.product-page .bb-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

/* Compact horizontal collector cards. */
.product-page .bb-mini-product{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  min-height:108px;
  overflow:hidden;
  background:#090b0e;
  border:1px solid rgba(255,255,255,.075);
  transition:transform .24s ease,border-color .24s ease,background .24s ease;
}

.product-page .bb-mini-product:hover{
  transform:translateY(-2px);
  border-color:rgba(215,53,48,.34);
  background:#0c0e11;
}

.product-page .bb-mini-product-image{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:8px;
  overflow:hidden;
  background:#07090b;
  border-right:1px solid rgba(255,255,255,.055);
}

.product-page .bb-mini-product-image,
.product-page .bb-mini-product-image:link,
.product-page .bb-mini-product-image:visited{
  text-decoration:none;
}

.product-page .bb-mini-product-image img{
  display:block;
  width:100%;
  height:90px;
  object-fit:contain;
  background:transparent;
  transition:transform .26s ease;
}

.product-page .bb-mini-product:hover .bb-mini-product-image img{
  transform:scale(1.025);
}

.product-page .bb-mini-product>div{
  min-width:0;
  align-self:center;
  padding:12px 13px 13px;
}

.product-page .bb-mini-product small{
  display:block;
  margin:0 0 5px;
  color:#a9433e;
  font:800 7px/1.25 Arial,sans-serif;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.product-page .bb-mini-product h3{
  margin:0 0 8px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
}

.product-page .bb-mini-product h3 a,
.product-page .bb-mini-product h3 a:link,
.product-page .bb-mini-product h3 a:visited{
  color:#eee;
  text-decoration:none;
  font:inherit;
}

.product-page .bb-mini-product h3 a:hover,
.product-page .bb-mini-product h3 a:focus-visible{
  color:#fff;
  text-decoration:none;
}

.product-page .bb-mini-product b{
  color:#f1f0ed;
  font:750 13px/1 Arial,sans-serif;
}

/* Ensure no browser-default link color leaks into this shelf. */
.product-page .bb-product-discovery a{
  text-decoration:none;
}

@media(max-width:950px){
  .product-page .bb-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .product-page .bb-product-discovery{
    width:100%;
    padding:28px 18px 44px;
  }
  .product-page .bb-mini-grid{
    grid-template-columns:1fr;
  }
  .product-page .bb-mini-product{
    grid-template-columns:88px minmax(0,1fr);
  }
  .product-page .bb-mini-product-image img{
    height:82px;
  }
}


/* =========================================================
   Rev71 — Legibility + spacing refinement
   ========================================================= */

/* Related Finds / Recently Viewed: one notch larger than Rev70. */
.product-page .bb-product-discovery{
  padding-top:34px;
  padding-bottom:60px;
  gap:34px;
}
.product-page .bb-discovery-head{
  margin-bottom:16px;
  padding-bottom:12px;
}
.product-page .bb-discovery-head .catalog-kicker{
  font-size:9px;
}
.product-page .bb-discovery-head h2{
  font-size:clamp(24px,2.15vw,32px);
}
.product-page .bb-mini-grid{
  gap:12px;
}
.product-page .bb-mini-product{
  grid-template-columns:112px minmax(0,1fr);
  min-height:126px;
}
.product-page .bb-mini-product-image{
  padding:10px;
}
.product-page .bb-mini-product-image img{
  height:104px;
}
.product-page .bb-mini-product>div{
  padding:14px 15px 15px;
}
.product-page .bb-mini-product small{
  font-size:8px;
  line-height:1.3;
  margin-bottom:6px;
}
.product-page .bb-mini-product h3{
  font-size:14px;
  line-height:1.22;
  margin-bottom:9px;
}
.product-page .bb-mini-product b{
  font-size:14px;
}

/* Main shop/product navigation: modest bump only. */
.shop-nav{
  gap:clamp(18px,2.15vw,36px);
}
.shop-nav > a,
.shop-categories > summary{
  font-size:12px;
  letter-spacing:1.05px;
}

/* Product-page secondary copy gets a small accessibility bump. */
.product-page .shop-eyebrow{
  font-size:12px;
}
.product-page .shop-shipping{
  font-size:13px;
}
.product-page .shop-stock{
  font-size:13px;
}
.product-page .shop-trust small,
.product-page .shop-warning small{
  font-size:12px;
  line-height:1.4;
}
.product-page .product-spec-grid span{
  font-size:14px;
  line-height:1.45;
}
.product-page .product-spec-grid span b{
  font-size:10px;
}
.product-page .product-breadcrumbs{
  font-size:10px;
  letter-spacing:1.05px;
}

/* Keep mobile comfortable instead of oversized. */
@media(max-width:620px){
  .product-page .bb-mini-product{
    grid-template-columns:102px minmax(0,1fr);
    min-height:116px;
  }
  .product-page .bb-mini-product-image img{
    height:94px;
  }
  .shop-nav > a,
  .shop-categories > summary{
    font-size:12px;
  }
}

/* =========================================================
   Rev230 — Shop chrome channel-letter logo
   ========================================================= */
.shop-logo-heading-v230{
  margin:-12px 0 -4px!important;
  width:clamp(290px,30vw,520px)!important;
  line-height:1!important;
}
.shop-logo-heading-v230 img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.72));
}
@media(max-width:680px){.shop-logo-heading-v230{width:min(78vw,410px)!important}}


/* =========================================================
   Rev231 — compact industrial SHOP channel-letter mark
   ========================================================= */
.shop-logo-heading-v230{
  margin:-2px 0 2px!important;
  width:clamp(220px,22vw,360px)!important;
  max-width:42vw!important;
  line-height:1!important;
}
.shop-logo-heading-v230 img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.72))!important;
}
@media(max-width:680px){
  .shop-logo-heading-v230{width:min(62vw,320px)!important;max-width:62vw!important}
}


/* =========================================================
   Rev234 — final fabricated-metal SHOP sign
   Photoreal brushed metal, crisp dark returns, restrained blue rear halo.
   Compact by design so the catalog remains the hero.
   ========================================================= */
.shop-logo-heading-v230{
  margin:2px 0 6px!important;
  width:clamp(245px,24vw,395px)!important;
  max-width:44vw!important;
  line-height:1!important;
}
.shop-logo-heading-v230 img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 11px 18px rgba(0,0,0,.76)) drop-shadow(0 0 9px rgba(44,126,255,.12))!important;
}
@media(max-width:680px){
  .shop-logo-heading-v230{width:min(64vw,330px)!important;max-width:64vw!important}
}


/* =========================================================
   Rev237 — generated collector-shop environment behind the Shop landing page
   ========================================================= */
body.shop-landing-page{
  background:
    radial-gradient(ellipse 76% 70% at 50% 28%,rgba(0,0,0,.08) 0%,rgba(0,0,0,.23) 55%,rgba(0,0,0,.80) 88%,#000 100%),
    linear-gradient(90deg,#000 0%,rgba(0,0,0,.66) 8%,rgba(0,0,0,.18) 28%,rgba(0,0,0,.13) 72%,rgba(0,0,0,.66) 92%,#000 100%),
    #000 url("images/shop/shop-environment-v237.webp?v=237") center 28%/cover fixed no-repeat!important;
}
body.shop-landing-page main{
  position:relative;
  background:linear-gradient(180deg,rgba(2,2,2,.52) 0%,rgba(2,2,2,.26) 20%,rgba(2,2,2,.52) 68%,rgba(0,0,0,.86) 100%)!important;
}
body.shop-landing-page .catalog-section{
  background:linear-gradient(180deg,rgba(2,2,2,.56),rgba(2,2,2,.20) 42%,rgba(2,2,2,.66) 100%)!important;
}
body.shop-landing-page .universe-browser,
body.shop-landing-page .bb-featured-strip,
body.shop-landing-page .bb-inventory-browser{
  position:relative;
  isolation:isolate;
}
body.shop-landing-page .universe-browser::after,
body.shop-landing-page .bb-featured-strip::after,
body.shop-landing-page .bb-inventory-browser::after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  pointer-events:none;
  background:rgba(3,3,3,.44);
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
}
@media(max-width:900px){
  body.shop-landing-page{background-position:55% 18%!important;background-attachment:scroll!important}
}

/* =========================================================
   Rev238 — static generated interior only; no Shop background video
   ========================================================= */
body.shop-landing-page{
  position:relative!important;
  isolation:isolate!important;
  background:#000!important;
}
body.shop-landing-page::before{
  content:"";
  position:fixed;
  inset:-2.5%;
  z-index:0;
  pointer-events:none;
  background:#000 url('images/shop/shop-environment-v237.webp?v=238') center 18%/cover no-repeat;
  opacity:.82;
  filter:brightness(.88) saturate(1.18) contrast(1.08);
  transform:scale(1.018);
}
body.shop-landing-page::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 74% 68% at 50% 30%,rgba(0,0,0,0) 0%,rgba(0,0,0,.025) 39%,rgba(0,0,0,.18) 61%,rgba(0,0,0,.55) 82%,rgba(0,0,0,.90) 100%),
    linear-gradient(90deg,#000 0%,rgba(0,0,0,.68) 7%,rgba(0,0,0,.20) 22%,rgba(0,0,0,.04) 38%,rgba(0,0,0,.04) 62%,rgba(0,0,0,.20) 78%,rgba(0,0,0,.68) 93%,#000 100%),
    linear-gradient(180deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.20) 13%,rgba(0,0,0,.035) 34%,rgba(0,0,0,.10) 72%,rgba(0,0,0,.78) 100%);
}
body.shop-landing-page > *{position:relative;z-index:1}
body.shop-landing-page main{
  background:linear-gradient(180deg,rgba(2,2,2,.38) 0%,rgba(2,2,2,.14) 21%,rgba(2,2,2,.34) 67%,rgba(0,0,0,.75) 100%)!important;
}
body.shop-landing-page .bb-universe-video{display:none!important}
@media(max-width:900px){
  body.shop-landing-page::before{position:absolute;background-position:54% 16%;opacity:.76}
}

/* =========================================================
   Rev239 — selected Shop environment + slimmer neutral SHOP mark
   ========================================================= */
body.shop-landing-page::before{
  background:#000 url('images/shop/shop-environment-v239.webp?v=239') center 31%/cover no-repeat!important;
  opacity:.78!important;
  filter:brightness(.78) saturate(1.03) contrast(1.075)!important;
  transform:scale(1.015)!important;
}
body.shop-landing-page::after{
  background:
    linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 5%,rgba(0,0,0,.28) 15%,rgba(0,0,0,.055) 30%,rgba(0,0,0,.025) 50%,rgba(0,0,0,.055) 70%,rgba(0,0,0,.28) 85%,rgba(0,0,0,.78) 95%,#000 100%),
    linear-gradient(180deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.29) 11%,rgba(0,0,0,.045) 29%,rgba(0,0,0,.035) 67%,rgba(0,0,0,.34) 86%,rgba(0,0,0,.88) 100%)!important;
}
.shop-logo-heading-v230{
  width:clamp(190px,18.5vw,310px)!important;
  max-width:35vw!important;
  margin:0 0 5px!important;
  transform:scaleY(.86)!important;
  transform-origin:left center!important;
}
.shop-logo-heading-v230 img{
  filter:drop-shadow(0 8px 13px rgba(0,0,0,.72))!important;
}
@media(max-width:680px){
  .shop-logo-heading-v230{width:min(50vw,255px)!important;max-width:50vw!important;transform:scaleY(.88)!important}
}
@media(max-width:900px){
  body.shop-landing-page::before{background-position:52% 24%!important;opacity:.72!important}
}

/* Rev243 — product-description typography uses the same engineered family as navigation. */
.product-page .shop-info p,
.product-page .product-details-panel,
.product-page .product-details-panel p,
.product-page .product-spec-grid,
.product-page .shop-trust,
.product-page .shop-warning,
.product-page .shop-shipping{
  font-family:"Bahnschrift SemiCondensed","Bahnschrift","Arial Narrow","Segoe UI",Arial,sans-serif!important;
}
.product-page .shop-sub{letter-spacing:.012em!important}

/* Rev243 — touch/mobile Shop By Universe cards are deliberately static.
   Poster images remain visible; videos never flash a blank frame. */
.bb-mobile-static-universe .catalog-page .universe-tile .universe-hover-video{display:none!important}
@media (pointer:coarse){
  .catalog-page .universe-tile .universe-hover-video{display:none!important}
}

/* =========================================================
   Rev245 — Shop background: smooth bottom/edge dissolve into real black.
   ========================================================= */
body.shop-landing-page{background:#000!important}
body.shop-landing-page::before{
  background:#000 url('images/shop/shop-environment-v245-smooth.png?v=245') center 18%/cover no-repeat!important;
  opacity:.76!important;
  filter:brightness(.80) saturate(1.02) contrast(1.055)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
body.shop-landing-page::after{
  background:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.035) 34%,rgba(0,0,0,.08) 66%,rgba(0,0,0,.38) 100%)!important;
}
@media(max-width:900px){body.shop-landing-page::before{background-position:52% 16%!important;opacity:.69!important}}
