/** PunisherTN 6.0.5 — cinematic shop library with full-art product cards. */
.ptn-shop-editorial .shop-hero {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(222,219,207,.12);
  background:
    linear-gradient(104deg,rgba(200,192,158,.055),transparent 42%),
    radial-gradient(circle at 86% 25%,rgba(37,227,223,.03),transparent 17rem),
    #0a0c0d;
}
.ptn-shop-editorial .shop-hero-inner {
  position: relative;
  min-height: clamp(190px,22vw,250px);
  padding-block: clamp(34px,5vw,58px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.ptn-shop-hero-copy {
  position: relative;
  z-index: 2;
  width: min(760px,78%);
}
.ptn-shop-meta {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
  color: #6f7571;
  font: 720 .59rem/1.2 Inter,system-ui,sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ptn-shop-meta span:first-child::after {
  content: "";
  width: 24px;
  height: 1px;
  margin-left: 15px;
  display: inline-block;
  vertical-align: middle;
  background: rgba(206,201,178,.45);
}
.ptn-shop-editorial .shop-hero h1 {
  margin: 0;
  color: #efede7;
  font-family: Inter,system-ui,sans-serif;
  font-size: clamp(2.65rem,5vw,4.25rem);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .95;
  text-transform: none;
}
.ptn-shop-editorial .shop-description {
  margin-top: 12px;
  color: #a6a79f;
  font-size: .84rem;
  line-height: 1.5;
}
.ptn-shop-editorial .shop-description p { margin: 0; }
.ptn-chroma-field--shop { inset: 0; z-index: 1; opacity: .5; }
.ptn-chroma-field--shop .ptn-chroma-corner { right: 24px; bottom: 20px; width: 54px; height: 54px; }
.ptn-chroma-field--shop .ptn-chroma-crosshair { right: 9%; top: 22%; width: 38px; height: 38px; }
.ptn-chroma-field--shop .ptn-chroma-plus { right: 27%; top: 23%; width: 12px; height: 12px; }
.ptn-chroma-field--shop .ptn-chroma-x { right: 4%; top: 37%; width: 11px; height: 11px; }

.ptn-shop-editorial .catalog-section {
  padding-block: clamp(42px,6vw,76px) clamp(72px,9vw,116px);
}
.ptn-shop-catalog-heading {
  margin-bottom: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(222,219,207,.12);
}
.ptn-shop-catalog-heading span {
  display: block;
  margin-bottom: 8px;
  color: #777b74;
  font: 720 .58rem/1.2 Inter,system-ui,sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ptn-shop-catalog-heading h2 {
  margin: 0;
  color: #e8e6df;
  font-family: Inter,system-ui,sans-serif;
  font-size: clamp(1.65rem,3vw,2.35rem);
  font-weight: 630;
  letter-spacing: -.035em;
  line-height: 1;
  text-transform: none;
}
.ptn-shop-editorial .shop-toolbar {
  min-height: 52px;
  margin: 0 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.ptn-shop-editorial .woocommerce-result-count,
.ptn-shop-editorial .woocommerce-ordering { float: none; margin: 0; }
.ptn-shop-editorial .woocommerce-result-count {
  color: #747a76;
  font-size: .7rem;
}
.ptn-shop-editorial .woocommerce-ordering select {
  min-width: 210px;
  min-height: 44px;
  padding: 0 42px 0 14px;
  border: 1px solid rgba(222,219,207,.16);
  border-radius: 0;
  background-color: #0e1111;
  color: #c7c6bf;
  font-size: .75rem;
}
.ptn-shop-editorial.woocommerce ul.products.columns-3,
.ptn-shop-editorial.woocommerce-page ul.products.columns-3,
.ptn-shop-editorial .woocommerce ul.products.columns-3,
.ptn-shop-editorial ul.products.columns-3,
.ptn-shop-editorial ul.products.columns-4 {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(24px,2.8vw,38px);
}

/*
 * Product artwork is the catalogue's main selling surface. A square stage
 * gives portrait, square and landscape uploads enough room to remain whole.
 * The enlarged blurred copy removes dead letterboxing without hiding any of
 * the sharp foreground artwork.
 */
.ptn-shop-editorial .product-card-media {
  aspect-ratio: 1 / 1;
  isolation: isolate;
  background: #070909;
}
.ptn-shop-editorial .product-card-backdrop {
  position: absolute;
  z-index: 0;
  inset: -18%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(24px) saturate(.72) brightness(.34);
  opacity: .78;
  transform: scale(1.38);
  pointer-events: none;
}
.ptn-shop-editorial .product-card-media::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: radial-gradient(circle at center, transparent 42%, rgba(3,5,5,.42) 100%);
  pointer-events: none;
}
.ptn-shop-editorial.woocommerce ul.products li.product .product-card-media .product-card-image,
.ptn-shop-editorial.woocommerce-page ul.products li.product .product-card-media .product-card-image {
  position: relative;
  z-index: 2;
  object-fit: contain;
  filter: saturate(.96) contrast(1.035) brightness(.96);
  transform: scale(1.001);
}
.ptn-shop-editorial.woocommerce ul.products li.product:hover .product-card-media .product-card-image,
.ptn-shop-editorial.woocommerce-page ul.products li.product:hover .product-card-media .product-card-image {
  filter: saturate(1.04) contrast(1.04) brightness(1.03);
  transform: scale(1.025);
}
.ptn-shop-editorial .product-card-media .product-card-preview {
  z-index: 2;
  object-fit: cover;
}

@media (max-width: 980px) {
  .ptn-shop-editorial.woocommerce ul.products.columns-3,
  .ptn-shop-editorial.woocommerce-page ul.products.columns-3,
  .ptn-shop-editorial .woocommerce ul.products.columns-3,
  .ptn-shop-editorial ul.products.columns-3,
  .ptn-shop-editorial ul.products.columns-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .ptn-shop-editorial .shop-hero-inner { min-height: 174px; padding-block: 29px; }
  .ptn-shop-hero-copy { width: 88%; }
  .ptn-shop-meta { margin-bottom: 15px; }
  .ptn-shop-editorial .shop-hero h1 { font-size: clamp(2.35rem,13vw,3.1rem); }
  .ptn-chroma-field--shop .ptn-chroma-crosshair { right: 8%; top: 20%; width: 27px; height: 27px; }
  .ptn-chroma-field--shop .ptn-chroma-plus { display: none; }
  .ptn-chroma-field--shop .ptn-chroma-corner { right: 13px; bottom: 12px; width: 36px; height: 36px; }
  .ptn-shop-editorial .catalog-section { padding-block: 34px 72px; }
  .ptn-shop-catalog-heading { margin-bottom: 12px; padding-bottom: 18px; }
  .ptn-shop-editorial .shop-toolbar { margin-bottom: 24px; align-items: stretch; flex-direction: column; gap: 12px; }
  .ptn-shop-editorial .woocommerce-ordering,
  .ptn-shop-editorial .woocommerce-ordering select { width: 100%; }
  .ptn-shop-editorial.woocommerce ul.products.columns-3,
  .ptn-shop-editorial.woocommerce-page ul.products.columns-3,
  .ptn-shop-editorial .woocommerce ul.products.columns-3,
  .ptn-shop-editorial ul.products.columns-3,
  .ptn-shop-editorial ul.products.columns-4 { grid-template-columns: 1fr; gap: 28px; }
  .ptn-shop-editorial .product-card-media { aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion: reduce) {
  .ptn-chroma-field--shop .ptn-chroma-crosshair,
  .ptn-chroma-field--shop .ptn-chroma-plus,
  .ptn-chroma-field--shop .ptn-chroma-x { animation: none !important; }
}
