/* Product features in the Description tab (assets/feature-preview.js): a plain list by
   category, and the short fact card used for unlock-all products. Same plum surfaces and
   pink accent as the rest of the store. */
.fp-list, .fp-facts {
  --fp-card: #1d171d; --fp-line: #3a2f3a; --fp-line-2: #52414f; --fp-text: #f4eef5; --fp-muted: #afa4b0; --fp-faint: #8d808f;
  --fp-ok: #5de49c; --fp-warn: #f5b454; --fp-accent: rgb(var(--cl-accent, 228 82 189));
  color: var(--fp-text);
}
.fp-kicker { margin: 0; color: var(--fp-accent); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

/* Feature list */
.fp-list { display: flex; flex-direction: column; }
.fp-list-sum { margin: 0 0 4px; color: var(--fp-faint); font-size: .8rem; font-weight: 600; }
.fp-cat { padding-block: 16px; border-top: 1px solid var(--fp-line); }
.fp-list-sum + .fp-cat { border-top: 0; padding-top: 10px; }
.fp-cat:last-child { padding-bottom: 4px; }
.fp-cat h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 1rem; font-weight: 800; letter-spacing: -.01em; }
.fp-cat h3 em { padding: 1px 8px; border-radius: 999px; background: rgba(var(--cl-accent, 228 82 189), .14); color: color-mix(in srgb, var(--fp-accent) 60%, #fff); font-size: .72rem; font-style: normal; font-weight: 700; }
.fp-cat ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 0; padding: 0; list-style: none; }
.fp-cat li { position: relative; padding-left: 22px; color: #d3c9d4; font-size: .88rem; line-height: 1.45; overflow-wrap: anywhere; }
.fp-cat li::before { content: ""; position: absolute; top: .42em; left: 2px; width: 10px; height: 5px; border-left: 2px solid var(--fp-ok); border-bottom: 2px solid var(--fp-ok); transform: rotate(-45deg); }
.fp-cat li.is-more { display: none; }
.fp-cat.is-open li.is-more { display: block; }
.fp-cat-more { margin-top: 10px; padding: 4px 0; border: 0; background: none; color: color-mix(in srgb, var(--fp-accent) 65%, #fff); font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
.fp-cat-more:hover { text-decoration: underline; text-underline-offset: 3px; }
.fp-cat-more:focus-visible { outline: 2px solid var(--fp-accent); outline-offset: 2px; border-radius: 6px; }
@media (max-width: 640px) {
  .fp-cat ul { grid-template-columns: minmax(0, 1fr); gap: 7px; }
}

/* Unlock all: plain fact card in the description */
.fp-facts { display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid var(--fp-line); border-radius: 14px; background: #1a151a; color: var(--fp-text); }
.fp-facts .fp-kicker { margin: 0; color: var(--fp-accent); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.fp-facts h3 { margin: 2px 0 10px; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; }
.fp-facts ul { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fp-facts li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--fp-line); border-radius: 10px; background: #141014; font-size: .9rem; line-height: 1.4; color: #e7dfe8; }
.fp-fact-icon { display: grid; flex: none; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: rgba(var(--cl-accent, 228 82 189), .14); color: var(--fp-accent); }
.fp-fact-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.fp-facts li.is-warn { border-color: rgba(245, 180, 84, .35); background: rgba(245, 180, 84, .08); color: #fde0b3; }
.fp-facts li.is-warn .fp-fact-icon { background: rgba(245, 180, 84, .16); color: #f5b454; }

@container (max-width: 680px) {
  .fp-stage { grid-template-columns: minmax(0, 1fr); }
  .fp-view { min-height: 300px; }
  .fp-view--ids { min-height: 0; }
  .fp-side { padding: 16px; }
  .fp-folds { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 380px) {
  .fp-toggles { grid-template-columns: minmax(0, 1fr); }
  .fp-id { grid-template-columns: 84px minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .fp *, .fp *::before, .fp *::after { transition-duration: 1ms !important; transition-delay: 0ms !important; }
}