/** PunisherTN 5.11 — compact editorial product showcase. */
.single-product-page.container {
  width: min(calc(100% - 48px),1320px);
  padding-block: clamp(28px,4vw,54px) clamp(74px,9vw,118px);
}
.ptn-product-editorial-hero {
  position: relative;
  min-height: clamp(176px,19vw,226px);
  margin-bottom: 0;
  padding: clamp(27px,4vw,48px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-top: 1px solid rgba(222,219,207,.18);
  border-bottom: 1px solid rgba(222,219,207,.13);
  background:
    linear-gradient(105deg,rgba(200,192,158,.065),transparent 38%),
    radial-gradient(circle at 88% 25%,rgba(37,227,223,.035),transparent 18rem),
    #0b0d0e;
}
.ptn-product-editorial-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(112deg,rgba(255,255,255,.01) 0 1px,transparent 1px 12px);
  pointer-events: none;
}
.ptn-product-editorial-meta {
  position: absolute;
  z-index: 2;
  top: 22px;
  left: clamp(27px,4vw,48px);
  right: clamp(27px,4vw,48px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #696f6c;
  font: 720 .58rem/1.2 Inter,system-ui,sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ptn-product-editorial-hero h1 {
  position: relative;
  z-index: 2;
  max-width: 850px;
  margin: 0;
  color: #efede7;
  font-family: Inter,system-ui,sans-serif;
  font-size: clamp(2.35rem,4.25vw,3.75rem);
  font-weight: 650;
  letter-spacing: -.048em;
  line-height: .98;
  text-transform: none;
  text-wrap: balance;
}
.ptn-chroma-field--product { inset: 0; z-index: 1; opacity: .58; }
.ptn-chroma-field--product .ptn-chroma-corner { right: 26px; bottom: 24px; width: 62px; height: 62px; }
.ptn-chroma-field--product .ptn-chroma-crosshair { right: 9%; top: 23%; width: 50px; height: 50px; }
.ptn-chroma-field--product .ptn-chroma-plus { right: 27%; top: 18%; width: 13px; height: 13px; }
.ptn-chroma-field--product .ptn-chroma-x { right: 4%; top: 34%; width: 12px; height: 12px; }

.ptn-product-section-label {
  min-height: 60px;
  padding: 15px 2px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid rgba(222,219,207,.1);
}
.ptn-product-section-label > span { color: #606662; font: 720 .61rem/1 Inter,system-ui,sans-serif; letter-spacing: .1em; }
.ptn-product-section-label > span::after { content: ""; width: 17px; height: 1px; margin-top: 8px; display: block; background: #6e7167; }
.ptn-product-section-label strong { color: #b9bbb5; font: 650 .68rem/1.2 Inter,system-ui,sans-serif; letter-spacing: .04em; text-transform: uppercase; }

.product-command-shell {
  padding-top: clamp(28px,4vw,50px);
  scroll-margin-top: 92px;
}
.product-viewer {
  border-radius: 4px;
  box-shadow: none;
}
.product-command-shell > .product-summary {
  padding-top: 0;
  border-top: 1px solid rgba(222,219,207,.13);
}
.product-console-head { padding-top: 17px; }
.product-summary .woocommerce-product-details__short-description { margin-top: 3px; }
.product-access-note { margin-top: 24px; }

.ptn-product-customization {
  position: relative;
  margin-top: 24px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(196,187,145,.24);
  border-radius: 3px;
  background:
    linear-gradient(120deg,rgba(196,187,145,.075),transparent 58%),
    #0d1010;
}
.ptn-product-customization::after {
  content: "+";
  position: absolute;
  top: 12px;
  right: 16px;
  color: rgba(37,227,223,.38);
  font: 500 1.1rem/1 Inter,system-ui,sans-serif;
  text-shadow: 2px 1px 0 rgba(255,49,95,.3);
}
.ptn-product-customization-label {
  display: block;
  color: #aaa486;
  font: 750 .7rem/1.2 Inter,system-ui,sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ptn-product-customization h2 {
  margin: 8px 0 9px;
  color: #e5e2d9;
  font: 650 clamp(1.2rem,2.4vw,1.55rem)/1.1 Inter,system-ui,sans-serif;
  letter-spacing: -.025em;
}
.ptn-product-customization p {
  margin: 0;
  color: #8f9591;
  font-size: .87rem;
  line-height: 1.65;
}
.ptn-product-customization .ptn-product-customization-button {
  width: 100%;
  min-height: 48px;
  margin-top: 17px;
  padding-inline: 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-color: rgba(196,187,145,.4);
  background: #171a18;
  color: #ddd9cb;
  font-size: .78rem;
}
.ptn-product-customization .ptn-product-customization-button:hover {
  border-color: #b9b18d;
  background: #20231f;
  color: #fff;
}

/* Lower product content uses the same rail and indexed rhythm as documents. */
.product-after-summary {
  margin-top: clamp(66px,8vw,104px);
  display: grid;
  grid-template-columns: minmax(205px,.52fr) minmax(0,1.48fr);
  column-gap: clamp(34px,6vw,82px);
  row-gap: 0;
  align-items: start;
}
.product-after-summary > *:not(.ptn-product-document-rail) { grid-column: 2; }
.ptn-product-document-rail {
  position: sticky;
  top: 96px;
  grid-column: 1;
  grid-row: 1 / span 20;
  width: 100%;
  padding: 31px 0 0;
  display: grid;
  gap: 2px;
  align-self: start;
  border-top: 1px solid rgba(222,219,207,.12);
  background: transparent;
}
.ptn-product-rail-label {
  margin-bottom: 11px;
  color: #5f6562;
  font-size: .57rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ptn-product-document-rail > a {
  min-height: 38px;
  padding: 8px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #777d79;
  font-size: .72rem;
  text-decoration: none;
  transition: color .2s ease,transform .2s ease;
}
.ptn-product-document-rail > a i {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  border: 1px solid rgba(222,219,207,.18);
  border-radius: 50%;
}
.ptn-product-document-rail > a:hover,
.ptn-product-document-rail > a.is-current { color: #d4d1c8; transform: translateX(3px); }
.ptn-product-document-rail > a.is-current i {
  border-color: rgba(222,219,207,.6);
  box-shadow: 2px 0 0 rgba(37,227,223,.45),-2px 1px 0 rgba(255,49,95,.42);
}
.ptn-product-rail-help { margin-top: 25px; padding-top: 17px; border-top: 1px solid rgba(222,219,207,.1); }
.ptn-product-rail-help > span { color: #aaa486; font-size: .59rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.ptn-product-rail-help p { margin: 8px 0 12px; color: #686f6b; font-size: .7rem; line-height: 1.5; }
.ptn-product-rail-help a { color: #aaa691; font-size: .64rem; font-weight: 720; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.ptn-product-rail-help a:hover { color: #e2ded0; }

.woocommerce div.product .product-after-summary .woocommerce-tabs {
  padding-top: clamp(42px,6vw,68px);
  border-top: 1px solid rgba(222,219,207,.12);
}
.woocommerce div.product .product-after-summary .woocommerce-tabs ul.tabs { margin-bottom: 28px; }
.product-after-summary .woocommerce-Tabs-panel {
  position: relative;
  padding-left: 70px;
  color: #9ba09c;
  font-size: .9rem;
  line-height: 1.78;
}
.product-after-summary .woocommerce-Tabs-panel::before {
  content: "02";
  position: absolute;
  top: 7px;
  left: 0;
  color: #5f6562;
  font: 720 .62rem/1 Inter,system-ui,sans-serif;
  letter-spacing: .1em;
}
.product-after-summary .woocommerce-Tabs-panel::after {
  content: "";
  position: absolute;
  top: 25px;
  left: 0;
  width: 18px;
  height: 1px;
  background: #6f7267;
}
.product-after-summary .woocommerce-Tabs-panel > h2:first-child,
.product-after-summary .woocommerce-Tabs-panel > p,
.product-after-summary .woocommerce-Tabs-panel > h3,
.product-after-summary .woocommerce-Tabs-panel > h4,
.product-after-summary .woocommerce-Tabs-panel > ul,
.product-after-summary .woocommerce-Tabs-panel > ol { max-width: 820px; margin-left: 0; }
.product-after-summary .woocommerce-Tabs-panel > h2:first-child {
  margin-bottom: 22px;
  font-size: clamp(1.8rem,3.5vw,2.7rem);
  font-weight: 630;
  line-height: 1.04;
}
.product-after-summary .woocommerce-Tabs-panel > ul {
  grid-template-columns: 1fr;
  gap: 11px;
}
.product-after-summary .woocommerce-Tabs-panel > ul li {
  padding: 3px 0 3px 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.product-after-summary .woocommerce-Tabs-panel > ul li::before {
  content: "+";
  top: 2px;
  left: 0;
  width: auto;
  height: auto;
  border: 0;
  color: #aaa486;
  text-shadow: 1px 0 rgba(37,227,223,.5),-1px 1px rgba(255,49,95,.45);
  transform: none;
}
.ptn-related-anchor {
  position: relative;
  width: 1px !important;
  height: 0;
  overflow: hidden;
  scroll-margin-top: 92px;
}
.product-after-summary .woocommerce-Tabs-panel { scroll-margin-top: 92px; }
.product-after-summary .related.products,
.product-after-summary .up-sells {
  position: relative;
  padding-top: clamp(52px,7vw,78px);
  border-top: 1px solid rgba(222,219,207,.12);
}
.product-after-summary .related.products > h2,
.product-after-summary .up-sells > h2 {
  position: relative;
  padding-left: 70px;
  font-size: clamp(1.8rem,3.5vw,2.7rem);
  font-weight: 630;
  line-height: 1.04;
}
.product-after-summary .related.products > h2::before,
.product-after-summary .up-sells > h2::before {
  content: "03";
  position: absolute;
  top: 8px;
  left: 0;
  color: #5f6562;
  font: 720 .62rem/1 Inter,system-ui,sans-serif;
  letter-spacing: .1em;
}
.product-after-summary:has(.up-sells) .related.products > h2::before { content: "04"; }
.product-after-summary .related.products > h2::after,
.product-after-summary .up-sells > h2::after {
  content: "";
  position: absolute;
  top: 26px;
  left: 0;
  width: 18px;
  height: 1px;
  background: #6f7267;
}

@media (max-width: 860px) {
  .single-product-page.container { width: min(calc(100% - 28px),780px); }
  .product-command-shell > .product-summary { padding-top: 0; }
  .product-after-summary { grid-template-columns: 1fr; }
  .product-after-summary > *:not(.ptn-product-document-rail) { grid-column: 1; }
  .ptn-product-document-rail {
    position: static;
    grid-column: 1;
    grid-row: auto;
    padding: 18px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    border-bottom: 1px solid rgba(222,219,207,.1);
    scrollbar-width: none;
  }
  .ptn-product-document-rail::-webkit-scrollbar { display: none; }
  .ptn-product-rail-label,
  .ptn-product-rail-help { display: none; }
  .ptn-product-document-rail > a { min-height: 34px; padding: 7px 10px; flex: 0 0 auto; border: 1px solid rgba(222,219,207,.1); border-radius: 999px; }
  .ptn-product-document-rail > a i { display: none; }
  .ptn-product-document-rail > a:hover,
  .ptn-product-document-rail > a.is-current { transform: none; }
}
@media (max-width: 600px) {
  .single-product-page.container { width: min(calc(100% - 20px),560px); padding-top: 20px; }
  .ptn-product-editorial-hero { min-height: 178px; padding: 24px 20px; }
  .ptn-product-editorial-meta { top: 18px; left: 20px; right: 20px; }
  .ptn-product-editorial-hero h1 { max-width: 92%; font-size: clamp(2rem,10vw,2.75rem); }
  .ptn-chroma-field--product .ptn-chroma-crosshair { right: 10%; top: 22%; width: 29px; height: 29px; }
  .ptn-chroma-field--product .ptn-chroma-plus { display: none; }
  .ptn-chroma-field--product .ptn-chroma-corner { right: 13px; bottom: 13px; width: 37px; height: 37px; }
  .ptn-product-section-label { grid-template-columns: 34px minmax(0,1fr); }
  .product-after-summary .woocommerce-Tabs-panel { padding-left: 0; padding-top: 38px; }
  .product-after-summary .woocommerce-Tabs-panel::before { top: 6px; }
  .product-after-summary .woocommerce-Tabs-panel::after { top: 23px; }
  .product-after-summary .related.products > h2,
  .product-after-summary .up-sells > h2 { padding-left: 0; padding-top: 38px; }
  .product-after-summary .related.products > h2::before,
  .product-after-summary .up-sells > h2::before { top: 6px; }
  .product-after-summary .related.products > h2::after,
  .product-after-summary .up-sells > h2::after { top: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .ptn-product-document-rail > a { transition: none; }
}
