/* SXM Pirate product edition: light editorial canvas, visual atlas, focused purchase panel. */
.app-shell:has(.premium-product-detail) {
  --sx-paper: #f7f3eb;
  --sx-cream: #eee7da;
  --sx-ink: #171b1b;
  --sx-muted: #696e6b;
  --sx-line: #cfc9bc;
  --sx-red: #852f35;
  --sx-gold: #a77f4c;
  background: var(--sx-paper);
  color: var(--sx-ink);
}
.app-shell:has(.premium-product-detail) .app-header {
  background: var(--sx-paper);
  border-bottom: 1px solid var(--sx-line);
}
.app-shell:has(.premium-product-detail) .app-nav {
  background: #eee7da;
  color: var(--sx-ink);
  border-color: var(--sx-line);
}
.app-shell:has(.premium-product-detail) .app-nav .nav-item { color: #555b58; }
.app-shell:has(.premium-product-detail) .app-nav .nav-item.router-link-active { color: var(--sx-red); }
.premium-product-detail {
  background: var(--sx-paper) !important;
  color: var(--sx-ink) !important;
  padding: 30px clamp(18px,3.3vw,64px) 90px !important;
  overflow: hidden;
}
.premium-product-detail::before { display: none !important; }
.premium-product-detail .product-page {
  max-width: 1560px;
  margin: auto;
  align-items: start;
  background: transparent !important;
}
.premium-product-detail .product-gallery-item {
  overflow: hidden;
  background: var(--sx-cream) !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  position: relative;
}
.premium-product-detail .product-gallery-item::after { display: none !important; }
.premium-product-detail .product-gallery-item img {
  transition: transform .45s ease;
}
.premium-product-detail .product-gallery-item:hover img { transform: scale(1.025); }
.premium-product-detail .product-gallery-counter {
  z-index: 7;
  background: #f7f3ebee !important;
  color: var(--sx-ink) !important;
  border: 1px solid var(--sx-line) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font: 700 12px/1 ui-monospace, monospace !important;
}
.premium-product-detail .product-buy {
  background: #fffdf8 !important;
  color: var(--sx-ink) !important;
  border: 1px solid var(--sx-line) !important;
  box-shadow: 12px 12px 0 #e8dfcf !important;
  overflow: visible !important;
  border-radius: 0 !important;
}
.premium-product-detail .product-buy::before {
  height: 3px;
  margin: -2px -2px 25px;
  background: linear-gradient(90deg,var(--sx-red) 0 28%,var(--sx-gold) 28% 72%,#246c6a 72%);
}
.premium-product-detail .product-meta-top {
  align-items: center;
  justify-content: flex-end;
  border-bottom: 1px solid var(--sx-line);
  padding-bottom: 16px;
}
.premium-product-detail .product-meta-top .eyebrow { display: none !important; }
.premium-product-detail .product-meta-top .eyebrow,
.premium-product-detail .product-edition {
  color: var(--sx-red) !important;
  font: 800 12px/1.4 ui-monospace, monospace !important;
  letter-spacing: .15em !important;
  opacity: 1;
}
.premium-product-detail .product-category-line,
.premium-product-detail .product-category-line span { color: #6d716d !important; }
.premium-product-detail .product-category-line span { border-color: var(--sx-line) !important; }
.premium-product-detail .product-detail-badges { margin-top: 22px !important; }
.premium-product-detail .product-detail-badges .merch-badge {
  background: #f0e8d9 !important;
  color: #544027 !important;
  border: 1px solid #d7c6a7 !important;
}
.premium-product-detail .product-edition { margin: 26px 0 8px !important; }
.premium-product-detail .product-buy h1 {
  color: var(--sx-ink) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  letter-spacing: -.05em !important;
  text-wrap: balance;
  margin: 0 0 18px !important;
}
.premium-product-detail .product-summary {
  color: #4d5350 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  max-width: 43ch;
}
.premium-product-detail .product-price-row {
  margin: 26px 0 0 !important;
  padding: 19px 0 20px !important;
  border-top: 1px solid var(--sx-line);
  border-bottom: 1px solid var(--sx-line);
}
.premium-product-detail .product-price {
  color: var(--sx-ink) !important;
  font: 700 clamp(30px,3vw,39px)/1 Georgia,serif !important;
  margin: 0 !important;
}
.premium-product-detail .product-price-row del { color: #777b77 !important; }
.premium-product-detail .option-group {
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--sx-line) !important;
  margin: 0 !important;
}
.premium-product-detail .option-group label {
  color: #555b58 !important;
  font: 800 12px/1.3 ui-monospace,monospace !important;
  letter-spacing: .12em !important;
  margin-bottom: 12px !important;
}
.premium-product-detail .option-group .chips { gap: 9px !important; }
.premium-product-detail .option-group .chips button {
  min-height: 49px !important;
  height: auto !important;
  padding: 11px 19px !important;
  background: var(--sx-paper) !important;
  border: 1px solid #bcb7ae !important;
  border-radius: 2px !important;
  color: var(--sx-ink) !important;
  font-size: 14px !important;
  font-weight: 750;
  box-shadow: none !important;
}
.premium-product-detail .option-group .chips button.active,
.premium-product-detail .option-group .chips button[aria-pressed='true'] {
  background: var(--sx-ink) !important;
  border-color: var(--sx-ink) !important;
  color: #fff !important;
}
.premium-product-detail .product-stock-line {
  color: #49514b !important;
  font-size: 13px !important;
  margin-top: 18px !important;
}
.premium-product-detail .product-main-cta {
  min-height: 58px !important;
  background: var(--sx-red) !important;
  color: #fff !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
}
.premium-product-detail .product-main-cta:disabled {
  background: #c7c5bf !important;
  color: #4e514d !important;
}
.premium-product-detail .product-reassurance {
  margin-top: 24px !important;
  padding: 18px 0 !important;
  border-block: 1px solid var(--sx-line) !important;
  gap: 15px !important;
}
.premium-product-detail .product-reassurance > div,
.premium-product-detail .product-reassurance > div span {
  color: #555c57 !important;
  opacity: 1 !important;
  line-height: 1.35;
  font-size: 12px !important;
}
.premium-product-detail .product-reassurance svg { color: var(--sx-red) !important; }
.premium-product-detail .product-secondary-actions {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px !important;
  margin: 0 !important;
  padding: 18px 0 0 !important;
  border: 0 !important;
}
.premium-product-detail .product-secondary-actions button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 10px 12px !important;
  background: #f7f3eb !important;
  color: var(--sx-ink) !important;
  border: 1px solid var(--sx-line) !important;
  border-radius: 2px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-align: center;
  transition: border-color .2s ease, background .2s ease;
}
.premium-product-detail .product-secondary-actions button:hover {
  background: #f0e7d8 !important;
  border-color: var(--sx-gold) !important;
}
.premium-product-detail .product-secondary-actions button::before {
  content: '';
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  background: var(--sx-red);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.premium-product-detail .product-secondary-actions button:first-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.premium-product-detail .product-secondary-actions button:last-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a3 3 0 1 0-2.8-4M6 15a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm12-6a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM8.6 16.4l6.8-3.8M8.6 7.6l6.8 3.8M6 3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a3 3 0 1 0-2.8-4M6 15a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm12-6a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM8.6 16.4l6.8-3.8M8.6 7.6l6.8 3.8M6 3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.premium-product-detail .product-gallery-controls {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.premium-product-detail .product-gallery-frame { min-width: 0; }
.premium-product-detail .product-gallery-hero {
  display: block; width: 100%; aspect-ratio: 1; padding: 0; overflow: hidden;
  border: 0; background: var(--sx-cream); cursor: zoom-in;
}
.premium-product-detail .product-gallery-hero img {
  display: block; width: 100%; height: 100%; object-fit: contain;
}
.premium-product-detail .product-gallery-item { cursor: pointer; }
.premium-product-detail .product-gallery-item.is-selected {
  outline: 3px solid var(--sx-red); outline-offset: -3px;
}
.premium-product-detail .product-gallery-counter { display: none !important; }
.premium-product-detail .product-gallery-controls span {
  color: #535a55;
  font: 750 13px/1 ui-monospace,monospace;
  letter-spacing: .08em;
}
.premium-product-detail .product-gallery-controls .gallery-arrows { display: flex; gap: 8px; }
.premium-product-detail .product-gallery-controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--sx-line);
  border-radius: 2px;
  background: #fffdf8;
  color: var(--sx-ink);
  font: 26px/1 Georgia,serif;
}
.premium-product-detail .product-gallery-controls button:hover:not(:disabled) { border-color: var(--sx-red); color: var(--sx-red); }
.premium-product-detail .product-gallery-controls button:disabled { opacity: .35; cursor: default; }
.premium-product-detail .product-story {
  grid-column: 1 / -1;
  padding-top: clamp(45px,7vw,100px);
}
.premium-product-detail .product-story::before {
  content: '';
  display: block;
  border-top: 1px solid var(--sx-line);
  margin-bottom: clamp(28px,4vw,58px);
}
.premium-product-detail .product-accordions {
  margin: 0 !important;
  display: grid;
  gap: 14px;
}
.premium-product-detail .product-accordions details {
  border: 1px solid var(--sx-line) !important;
  background: #fffdf8;
  padding: 0 clamp(20px,3vw,40px);
}
.premium-product-detail .product-accordions summary {
  color: var(--sx-ink) !important;
  font-size: 14px !important;
  letter-spacing: .08em !important;
  min-height: 67px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.premium-product-detail .product-accordion-content,
.premium-product-detail .product-accordions details p,
.premium-product-detail .product-accordions details div {
  color: #414945 !important;
  font-size: 15px;
  line-height: 1.7;
}
.premium-product-detail .product-accordion-content { border-color: var(--sx-line) !important; }
.premium-product-detail :focus-visible { outline: 2px solid var(--sx-red) !important; outline-offset: 3px; }

@media (min-width: 901px) {
  .app-shell:has(.premium-product-detail) { display: flex; flex-direction: column; }
  .app-shell:has(.premium-product-detail) .skip-link { order: -1; }
  .app-shell:has(.premium-product-detail) .app-header { order: 0; }
  .app-shell:has(.premium-product-detail) .app-nav {
    order: 1; position: sticky !important; top: var(--header-height) !important;
    bottom: auto !important; height: 52px !important; padding: 0 !important; z-index: 45;
  }
  .app-shell:has(.premium-product-detail) .nav-inner { height: 52px; }
  .app-shell:has(.premium-product-detail) .main-content { order: 2; }
  .app-shell:has(.premium-product-detail) .app-footer { order: 3; }
  .premium-product-detail .product-page {
    grid-template-columns: minmax(0,1.18fr) minmax(390px,.82fr) !important;
    gap: clamp(28px,3vw,54px) !important;
  }
  .premium-product-detail .product-gallery {
    display: flex !important;
    gap: 10px !important;
    padding: 10px 0 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: thin;
    overscroll-behavior-inline: contain;
  }
  .premium-product-detail .product-gallery-item,
  .premium-product-detail .product-gallery-item:first-child,
  .premium-product-detail .product-gallery-item:nth-child(n+4) {
    flex: 0 0 clamp(92px,8.5vw,122px) !important;
    width: clamp(92px,8.5vw,122px) !important;
    aspect-ratio: 1 !important;
    height: clamp(92px,8.5vw,122px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    scroll-snap-align: start;
  }
  .premium-product-detail .product-gallery-item picture,
  .premium-product-detail .product-gallery-item img {
    width: 100% !important; height: 100% !important; min-height: 0 !important;
    aspect-ratio: 1 !important; object-fit: contain !important; display: block;
  }
  .premium-product-detail .product-gallery-counter { display: none !important; }
  .premium-product-detail .product-gallery-frame { grid-column: 1; grid-row: 1; }
  .premium-product-detail .product-gallery-controls { margin-top: 14px; }
  .premium-product-detail .product-buy { grid-column: 2; grid-row: 1; }
  .premium-product-detail .product-story { grid-row: 2; }
  .premium-product-detail .product-buy { position: static !important; min-height: 0 !important; padding: clamp(25px,2.5vw,42px) !important; }
  .premium-product-detail .product-buy h1 { font-size: clamp(38px,3.45vw,59px) !important; line-height: .99 !important; }
  .premium-product-detail .product-reassurance { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .premium-product-detail .product-accordions { grid-template-columns: 1.35fr 1fr 1fr; align-items: start; }
}
@media (max-width: 900px) {
  .premium-product-detail { padding: 14px 0 95px !important; }
  .premium-product-detail .product-page { display: block !important; }
  .premium-product-detail .product-gallery-hero { width: calc(100% - 32px); margin: 0 16px 10px; }
  .premium-product-detail .product-gallery {
    display: flex !important; overflow-x: auto !important;
    padding: 0 16px 8px !important; gap: 8px !important;
  }
  .premium-product-detail .product-gallery-controls { margin: 0 16px 16px; }
  .premium-product-detail .product-gallery-item,
  .premium-product-detail .product-gallery-item:first-child,
  .premium-product-detail .product-gallery-item:nth-child(n+4) {
    flex: 0 0 82px !important; width: 82px !important;
    height: 82px !important; min-height: 0 !important; aspect-ratio: 1 !important;
    border-radius: 1px !important;
  }
  .premium-product-detail .product-gallery-item picture,
  .premium-product-detail .product-gallery-item img {
    display: block; width: 100% !important; height: 100% !important;
    min-height: 0 !important; max-height: 100% !important;
    object-fit: contain !important; aspect-ratio: auto !important;
  }
  .premium-product-detail .product-gallery-counter { right: 25px !important; bottom: 24px !important; left: auto !important; }
  .premium-product-detail .product-buy {
    position: static !important; min-height: 0 !important;
    margin: 15px 16px 0 !important; padding: 24px !important;
  }
  .premium-product-detail .product-buy h1 { font-size: clamp(34px,7vw,53px) !important; line-height: 1 !important; }
  .premium-product-detail .product-story { padding: 45px 16px 0; }
  .premium-product-detail .product-accordions { grid-template-columns: 1fr; }
  .premium-product-detail .product-reassurance { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .app-shell:has(.premium-product-detail) .product-mobile-cta {
    background: #fffdf8 !important; color: var(--sx-ink) !important;
    border: 1px solid var(--sx-line) !important;
    box-shadow: 0 -8px 24px #171b1b1c !important;
  }
  .app-shell:has(.premium-product-detail) .product-mobile-cta strong { color: var(--sx-ink) !important; }
  .app-shell:has(.premium-product-detail) .product-mobile-cta small { color: var(--sx-muted) !important; }
  .app-shell:has(.premium-product-detail) .product-mobile-cta .add-button {
    background: var(--sx-red) !important; color: white !important; border-radius: 2px !important;
  }
  .app-shell:has(.premium-product-detail) .product-mobile-cta .add-button:disabled {
    background: #c7c5bf !important; color: #4e514d !important;
  }
}
@media (max-width: 520px) {
  .premium-product-detail .product-buy { margin-inline: 12px !important; padding: 22px !important; }
  .premium-product-detail .product-meta-top { flex-direction: column; align-items: flex-start; gap: 8px; }
  .premium-product-detail .product-buy h1 { font-size: clamp(34px,9vw,43px) !important; }
  .premium-product-detail .product-reassurance { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  .premium-product-detail .product-gallery-item img { transition: none !important; }
}
