.pp-card-pilot-shell {
  --pp-pilot-card: #06131f;
  --pp-pilot-panel: #0a1c2b;
  --pp-pilot-panel-soft: #0d2334;
  --pp-pilot-text: #f4fbff;
  --pp-pilot-muted: #8aa3b4;
  --pp-pilot-line: rgba(159, 207, 226, .22);
  --pp-golden-pad-x: 20px;
  --pp-golden-card-radius: 12px;
  --pp-golden-control-radius: 4px;
  --pp-golden-title-size: 26px;
  --pp-golden-title-leading: 29px;
  --pp-golden-selector-height: 46px;
  --pp-golden-action-height: 50px;
  --pp-golden-control-gap: 8px;
}

.pp-light .pp-card-pilot-shell {
  --pp-pilot-card: #f9fdff;
  --pp-pilot-panel: #edf8fb;
  --pp-pilot-panel-soft: #e1f2f6;
  --pp-pilot-text: #071827;
  --pp-pilot-muted: #536c7b;
  --pp-pilot-line: rgba(7, 24, 39, .15);
}

.pp-card-pilot-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start;
  width: 100%;
  margin-inline: auto;
}

.pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot {
  --pp-card-accent: var(--pp-accent);
  grid-column: auto !important;
  grid-row: auto !important;
  display: flex;
  min-width: 0;
  min-height: 0;
  padding: 0;
  flex-direction: column;
  overflow: hidden;
  color: var(--pp-pilot-text);
  border: 1px solid color-mix(in srgb, var(--pp-card-accent) 42%, var(--pp-pilot-line));
  border-radius: var(--pp-golden-card-radius);
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--pp-card-accent) 8%, transparent), transparent 32%),
    linear-gradient(150deg, color-mix(in srgb, var(--pp-pilot-card) 97%, var(--pp-card-accent)), var(--pp-pilot-card));
  box-shadow: 0 18px 46px rgba(0, 0, 0, .2);
  transform: none;
  grid-template-columns: none;
  grid-template-rows: none;
  align-content: normal;
  container-type: inline-size;
}

.pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot:hover {
  transform: none;
  border-color: color-mix(in srgb, var(--pp-card-accent) 72%, var(--pp-pilot-line));
  box-shadow: 0 24px 55px rgba(0, 0, 0, .28);
}

.pp-filter-catalog .pp-catalog-card-pilot.pp-accent-violet { --pp-card-accent: var(--pp-violet); }
.pp-filter-catalog .pp-catalog-card-pilot.pp-accent-mint { --pp-card-accent: var(--pp-mint); }
.pp-filter-catalog .pp-catalog-card-pilot.pp-accent-copper { --pp-card-accent: var(--pp-copper); }
.pp-filter-catalog .pp-catalog-card-pilot.pp-accent-cyan { --pp-card-accent: var(--pp-accent); }

.pp-catalog-card-top {
  display: flex;
  justify-content: space-between;
  padding: 20px var(--pp-golden-pad-x) 0;
  color: var(--pp-pilot-muted);
  font: 650 .76rem/1 "Geist Mono", monospace;
  letter-spacing: .12em;
}

.pp-catalog-card-top span:last-child {
  color: var(--pp-card-accent);
}

.pp-catalog-card-visual {
  position: relative;
  display: flex;
  min-height: 236px;
  padding: 0 var(--pp-golden-pad-x);
  align-items: center;
  justify-content: space-between;
  color: inherit;
  text-decoration: none;
}

.pp-catalog-card-symbol {
  position: relative;
  z-index: 2;
  margin-left: 0;
  color: color-mix(in srgb, var(--pp-card-accent) 78%, white);
  font: 500 84px/.9 "Geist", sans-serif;
  letter-spacing: -.08em;
  text-shadow: 0 0 30px color-mix(in srgb, var(--pp-card-accent) 30%, transparent);
}

.pp-catalog-vial-stage {
  position: absolute;
  top: -4px;
  right: calc(var(--pp-golden-pad-x) - 30px);
  display: block;
  width: 308px;
  max-width: 86%;
  aspect-ratio: 1;
  flex: 0 0 auto;
  filter: drop-shadow(0 20px 22px rgba(0, 0, 0, .28));
}

.pp-catalog-vial-stage::before {
  position: absolute;
  z-index: -1;
  inset: 19% 7% 6%;
  border-radius: 50%;
  background: color-mix(in srgb, var(--pp-card-accent) 8%, transparent);
  filter: blur(24px);
  content: "";
}

.pp-catalog-vial-render {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pp-catalog-card-content {
  display: flex;
  min-height: 0;
  padding: 0 var(--pp-golden-pad-x) 18px;
  flex: 0 0 auto;
  flex-direction: column;
}

.pp-catalog-card-category {
  margin: 0;
  color: var(--pp-card-accent);
  font: 650 .72rem/1.35 "Geist Mono", monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.pp-catalog-card-content h3 {
  min-height: 0;
  margin: 0 0 4px;
  font: 650 var(--pp-golden-title-size)/var(--pp-golden-title-leading) "Geist", sans-serif;
  letter-spacing: -.035em;
}

.pp-catalog-card-content h3 a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  color: var(--pp-pilot-text);
  text-decoration: none;
}

.pp-catalog-card-content h3.pp-catalog-card-title--blend a {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.pp-catalog-card-content h3.pp-catalog-card-title--compact-three-line {
  height: 58px;
  font-size: 20px;
  line-height: 20px;
}

.pp-catalog-card-content h3.pp-catalog-card-title--compact-three-line a {
  min-height: 60px;
  transform: translateY(-2px);
}

.pp-catalog-title-line {
  display: block;
  white-space: nowrap;
}

.pp-catalog-card-meta {
  display: flex;
  min-height: 20px;
  margin: 0 0 12px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pp-catalog-strength-label {
  margin: 0 0 7px;
  color: var(--pp-pilot-muted);
  font: 640 .7rem/1.2 "Geist Mono", monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.pp-catalog-strengths {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  margin: 0 0 14px;
  gap: var(--pp-golden-control-gap);
}

.pp-catalog-strengths-many {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pp-catalog-strengths button {
  min-width: 0;
  min-height: var(--pp-golden-selector-height);
  padding: 8px;
  color: var(--pp-pilot-muted);
  border: 1px solid var(--pp-pilot-line);
  border-radius: var(--pp-golden-control-radius);
  background: transparent;
  cursor: pointer;
  font: 700 16px/1 "Geist", sans-serif;
}

.pp-catalog-strengths button:hover,
.pp-catalog-strengths button[aria-pressed="true"] {
  color: var(--pp-pilot-text);
  border-color: var(--pp-card-accent);
  background: color-mix(in srgb, var(--pp-card-accent) 14%, var(--pp-pilot-panel));
}

.pp-catalog-strengths button.is-unavailable {
  text-decoration: line-through;
  opacity: .48;
}

.pp-catalog-card-commerce {
  display: flex;
  margin: 0 0 10px;
  padding: 0;
  align-items: center;
  justify-content: space-between;
  border: 0;
}

.pp-catalog-card-price {
  margin: 0;
  color: var(--pp-pilot-text);
  font: 700 40px/1 "Geist", sans-serif;
  letter-spacing: -.035em;
}

.pp-catalog-card-stock {
  margin: 0;
  color: var(--pp-mint);
  font: 680 .72rem/1 "Geist Mono", monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.pp-catalog-card-stock::before { content: "●"; margin-right: 6px; }
.pp-catalog-card-stock.is-out { color: #d97979; }

.pp-catalog-card-proof {
  display: block;
  min-height: 46px;
  margin: 0 0 8px;
  padding: 0;
}
.pp-catalog-card-proof > span { display: none; }
.pp-catalog-card-proof a {
  display: inline-flex;
  width: 100%;
  min-height: 46px;
  padding: 9px 14px;
  align-items: center;
  justify-content: center;
  color: var(--pp-pilot-text);
  border: 1px solid color-mix(in srgb, var(--pp-card-accent) 55%, var(--pp-pilot-line));
  border-radius: var(--pp-golden-control-radius);
  background: color-mix(in srgb, var(--pp-pilot-panel) 42%, transparent);
  font: 680 .71rem/1.2 "Geist Mono", monospace;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
}
.pp-catalog-card-proof a span { margin-left: 8px; }

.pp-catalog-card-actions {
  display: block;
}

.pp-catalog-card-details,
.pp-catalog-card-add {
  display: inline-flex;
  min-height: var(--pp-golden-action-height);
  padding: 10px 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pp-card-accent);
  border-radius: var(--pp-golden-control-radius);
  font: 750 16px/1.2 "Geist Mono", monospace;
  letter-spacing: .035em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.pp-catalog-card-details { display: none; }
.pp-catalog-card-add { width: 100%; color: #03141f; background: var(--pp-card-accent); cursor: pointer; }
.pp-catalog-card-add:disabled {
  color: #03141f;
  border-color: var(--pp-card-accent);
  background: var(--pp-card-accent);
  cursor: not-allowed;
  opacity: 1;
}
.pp-catalog-card-status { min-height: 1.25em; margin: 7px 0 0; color: var(--pp-pilot-muted); font: 600 .62rem/1.35 "Geist Mono", monospace; }
.pp-catalog-card-status:empty { display: none; }
.pp-catalog-card-research { display: none; }

@media (max-width: 1279px) {
  .pp-card-pilot-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

@media (max-width: 899px) {
  .pp-card-pilot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 680px) {
  .pp-card-pilot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .pp-card-pilot-grid .pp-catalog-card-pilot { min-height: 0; }
  .pp-catalog-card-content h3 { min-height: 0; }
  .pp-catalog-strengths-many { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@container (max-width: 300px) {
  .pp-catalog-card-top {
    padding: 12px 12px 0;
    font-size: .62rem;
  }
  .pp-catalog-card-visual {
    min-height: 173px;
    padding-inline: 12px;
  }
  .pp-catalog-vial-stage {
    top: 8px;
    right: -26px;
    width: 210px;
    max-width: 94%;
  }
  .pp-catalog-card-symbol { font-size: 56px; }
  .pp-catalog-card-content { padding: 0 12px 12px; }
  .pp-catalog-card-content h3 {
    margin-bottom: 3px;
    font-size: 20px;
    line-height: 22px;
  }
  .pp-catalog-card-content h3 a { min-height: 34px; }
  .pp-catalog-card-content h3.pp-catalog-card-title--compact-three-line {
    height: 44px;
    font-size: 16px;
    line-height: 16px;
  }
  .pp-catalog-card-content h3.pp-catalog-card-title--compact-three-line a {
    min-height: 48px;
    transform: translateY(-4px);
  }
  .pp-catalog-card-meta {
    margin-bottom: 8px;
    gap: 6px;
  }
  .pp-catalog-card-category,
  .pp-catalog-card-stock,
  .pp-catalog-strength-label,
  .pp-catalog-strengths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 10px;
    gap: 5px;
  }
  .pp-catalog-strengths-many { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pp-catalog-strengths button {
    min-height: 42px;
    padding: 5px 3px;
    font-size: 13px;
  }
  .pp-catalog-card-price { font-size: 30px; }
  .pp-catalog-card-proof,
  .pp-catalog-card-proof a { min-height: 42px; }
  .pp-catalog-card-proof a {
    padding: 7px 8px;
    font-size: .62rem;
  }
  .pp-catalog-card-details,
  .pp-catalog-card-add {
    min-height: 44px;
    padding: 8px;
    font-size: 12px;
  }
}

@container (max-width: 210px) {
  .pp-catalog-card-top {
    padding: 9px 8px 0;
    font-size: .54rem;
  }
  .pp-catalog-card-visual {
    min-height: 141px;
    padding-inline: 8px;
  }
  .pp-catalog-vial-stage {
    top: 12px;
    right: -30px;
    width: 173px;
    max-width: 106%;
  }
  .pp-catalog-card-symbol { font-size: 43px; }
  .pp-catalog-card-content { padding: 0 8px 10px; }
  .pp-catalog-card-content h3 {
    font-size: 16px;
    line-height: 18px;
  }
  .pp-catalog-card-content h3 a {
    min-height: 32px;
    align-items: flex-start;
  }
  .pp-catalog-card-content h3.pp-catalog-card-title--compact-three-line {
    height: 36px;
    font-size: 13px;
    line-height: 13px;
  }
  .pp-catalog-card-content h3.pp-catalog-card-title--compact-three-line a {
    min-height: 39px;
    transform: translateY(-3px);
  }
  .pp-catalog-card-meta {
    display: block;
    min-height: 34px;
    margin-bottom: 6px;
  }
  .pp-catalog-card-category,
  .pp-catalog-card-stock,
  .pp-catalog-strength-label,
  .pp-catalog-card-stock { margin-top: 5px; }
  .pp-catalog-strength-label { margin-bottom: 5px; }
  .pp-catalog-strengths {
    margin-bottom: 8px;
    gap: 4px;
  }
  .pp-catalog-strengths button {
    min-height: 40px;
    padding: 4px 1px;
    font-size: 10px;
  }
  .pp-catalog-card-price { font-size: 24px; }
  .pp-catalog-card-proof {
    min-height: 40px;
    margin-bottom: 6px;
  }
  .pp-catalog-card-proof a {
    min-height: 40px;
    padding: 6px 4px;
    font-size: .54rem;
  }
  .pp-catalog-card-proof a span { margin-left: 4px; }
  .pp-catalog-card-details,
  .pp-catalog-card-add {
    min-height: 42px;
    padding: 6px 3px;
    font-size: 9px;
  }
}
/* Keep feedback in the add button, not an appended Woo View cart link. */
.pp-catalog-card-pilot a.added_to_cart { display:none!important; }
/* Flat feedback: color only, with stable geometry throughout the request. */
.pp-catalog-card-add { position:relative; box-shadow:none; transform:none; transition:filter .16s ease; touch-action:manipulation; }
@media (hover:hover) { .pp-catalog-card-add:hover:not(:disabled) { filter:brightness(1.08); } }
.pp-catalog-card-add:active:not(:disabled),.pp-catalog-card-add.is-adding { transform:none; box-shadow:none; filter:brightness(1.06); }
.pp-catalog-card-add.is-added { transform:none; box-shadow:none; filter:brightness(1.08); }
.pp-catalog-card-add:focus-visible { outline:2px solid var(--pp-pilot-text); outline-offset:3px; }
.pp-catalog-card-add.added::after { display:none; }
.pp-add-confirmed .pp-catalog-card-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(prefers-reduced-motion:reduce) { .pp-catalog-card-add { transition:none; } }

/* Light theme: softly tinted primary action, neutral proof link, clear selection. */
.pp-light .pp-catalog-card-add {
  color:#102a36;
  background:color-mix(in srgb,var(--pp-card-accent) 14%,white);
  border-color:color-mix(in srgb,var(--pp-card-accent) 65%,#7e949d);
  filter:none;
  transition:background-color .16s ease,border-color .16s ease;
}
.pp-light .pp-catalog-card-add:disabled {
  color:#102a36;
  background:color-mix(in srgb,var(--pp-card-accent) 14%,white);
  border-color:color-mix(in srgb,var(--pp-card-accent) 65%,#7e949d);
}
@media (hover:hover) {
  .pp-light .pp-catalog-card-add:hover:not(:disabled) {
    background:color-mix(in srgb,var(--pp-card-accent) 23%,white);
    border-color:var(--pp-card-accent);
    filter:none;
  }
}
.pp-light .pp-catalog-card-add:active:not(:disabled),
.pp-light .pp-catalog-card-add.is-adding,
.pp-light .pp-catalog-card-add.is-added {
  background:color-mix(in srgb,var(--pp-card-accent) 26%,white);
  border-color:var(--pp-card-accent);
  filter:none;
}
.pp-light .pp-catalog-card-proof a {
  color:#405965;
  background:#fff;
  border-color:#a5b8c0;
}
.pp-light .pp-catalog-card-proof a:hover { background:#f2f6f8; border-color:#718c98; }
.pp-light .pp-catalog-strengths button[aria-pressed="true"] {
  color:#102a36;
  background:color-mix(in srgb,var(--pp-card-accent) 21%,white);
  border-color:var(--pp-card-accent);
}
@media (prefers-reduced-motion:reduce) { .pp-light .pp-catalog-card-add { transition:none; } }

/* Longer display codes retain clear space beside the vial. */
.pp-catalog-card-symbol.pp-symbol-length-3 { font-size:clamp(26px,20cqw,64px); letter-spacing:-.055em; }
.pp-catalog-card-symbol.pp-symbol-length-4 { font-size:clamp(22px,15cqw,48px); letter-spacing:-.055em; }

/* Approved full-name symbols: modest enlargement; vial geometry stays uniform. */
.pp-catalog-card-pilot:is([data-name="GLOW"],[data-name="KLOW"],[data-name="DSIP"]) .pp-catalog-card-symbol { font-size:clamp(23px,16.5cqw,53px); letter-spacing:-.055em; }

/* Subtle light-theme refinement only: existing palette, controls and shadows retained. */
.pp-light .pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot {
  border-width: 2px;
  border-color: color-mix(in srgb, var(--pp-card-accent) 65%, var(--pp-pilot-line));
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--pp-card-accent) 5%, transparent), transparent 32%),
    linear-gradient(150deg, color-mix(in srgb, var(--pp-pilot-card) 98%, var(--pp-card-accent)), var(--pp-pilot-card));
}
.pp-light .pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot:hover {
  border-color: color-mix(in srgb, var(--pp-card-accent) 82%, var(--pp-pilot-line));
}
.pp-light .pp-catalog-vial-stage::before {
  background: color-mix(in srgb, var(--pp-card-accent) 5%, transparent);
}

/* BPC-157: three strengths in one compact row, including narrow catalog cards. */
.pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot[data-name="BPC-157"] .pp-catalog-strengths {
 grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;
}
.pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot[data-name="BPC-157"] .pp-catalog-strengths button {
 min-width:0;padding-left:2px;padding-right:2px;white-space:nowrap;font-size:11px;
}

/* Light catalog: label-led accents, with separate darker ink for small text. */
.pp-light .pp-filter-catalog .pp-catalog-card-pilot.pp-accent-mint { --pp-card-accent:#36c99b;--pp-card-accent-ink:#14765e; }
.pp-light .pp-filter-catalog .pp-catalog-card-pilot.pp-accent-cyan { --pp-card-accent:#16bfd0;--pp-card-accent-ink:#00798c; }
.pp-light .pp-filter-catalog .pp-catalog-card-pilot.pp-accent-violet { --pp-card-accent:#a486ed;--pp-card-accent-ink:#6250ae; }
.pp-light .pp-filter-catalog .pp-catalog-card-pilot.pp-accent-copper { --pp-card-accent:#ed9b80;--pp-card-accent-ink:#98501f; }
.pp-light .pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot {
 border-color:color-mix(in srgb,var(--pp-card-accent) 82%,var(--pp-card-accent-ink));
}
.pp-light .pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-pilot:hover { border-color:var(--pp-card-accent); }
.pp-light .pp-filter-catalog .pp-catalog-card-symbol { color:color-mix(in srgb,var(--pp-card-accent) 70%,var(--pp-card-accent-ink)); }
.pp-light .pp-filter-catalog .pp-catalog-card-category,
.pp-light .pp-filter-catalog .pp-catalog-card-top span:last-child { color:var(--pp-card-accent-ink); }
.pp-light .pp-filter-catalog .pp-catalog-strengths button[aria-pressed="true"] { border-color:var(--pp-card-accent-ink); }

/* Equal-height cards per responsive row; spare room belongs to strengths. */
.pp-filter-catalog .pp-card-pilot-grid { align-items: stretch; }
.pp-filter-catalog .pp-card-pilot-grid .pp-catalog-card-content { flex: 1 0 auto; }
.pp-filter-catalog .pp-card-pilot-grid .pp-catalog-strengths {
  flex: 1 0 auto;
  align-content: start;
}

/* Quieter teal-neutral surfaces and label-bright teal/mint accents. */
.pp-card-pilot-shell { --pp-pilot-card:#06171f; --pp-pilot-panel:#0a202b; --pp-pilot-panel-soft:#0d2734; }
.pp-light .pp-card-pilot-shell { --pp-pilot-card:#f9fefd; --pp-pilot-panel:#edf9f8; --pp-pilot-panel-soft:#e1f3f1; }
.pp-light .pp-filter-catalog .pp-catalog-card-pilot.pp-accent-cyan { --pp-card-accent:#26c6cc; --pp-card-accent-ink:#087b82; }
.pp-light .pp-filter-catalog .pp-catalog-card-pilot.pp-accent-mint { --pp-card-accent:#36c9aa; --pp-card-accent-ink:#147663; }
