/* Pricing list (website/src/style.css .price-*, .pricing-facts, .tc-*), shipped as its own file
   on top of the live bundle. .pricing-wrap prefix outranks the old .price-* rules still in it. */
.pricing-wrap .price-list { display:grid; gap:12px; }
.pricing-wrap .price-option { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:28px; align-items:center; padding:16px 28px 16px 16px; background:var(--surface-raised); border:1px solid var(--line); border-radius:18px; box-shadow:none; transform:none; }
.pricing-wrap .price-option:hover { border-color:var(--line); box-shadow:none; transform:none; }
.pricing-wrap .price-option-featured, .pricing-wrap .price-option-featured:hover { border-color:var(--accent); background:var(--surface-raised); box-shadow:0 0 0 4px rgba(217,189,115,.16); }
.pricing-wrap .price-art { display:grid; place-items:center; width:104px; height:104px; border-radius:14px; background:#f6f1e3; perspective:160px; }
.pricing-wrap .price-option-featured .price-art { background:#f1e3b8; }
.pricing-wrap .price-art svg { display:block; width:78px; height:78px; overflow:visible; }
.pricing-wrap .price-pack { display:grid; gap:6px; justify-items:start; min-width:0; }
.pricing-wrap .price-pack-title { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.pricing-wrap .price-pack strong { font-size:22px; line-height:1.2; font-weight:620; letter-spacing:-.025em; }
.pricing-wrap .price-pack > span { display:block; color:var(--muted); font-size:13px; }
.pricing-wrap .price-pack em { font-style:normal; color:var(--accent-ink); font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.pricing-wrap .price-badge { padding:4px 10px; border-radius:999px; background:#f3ead0; color:var(--accent-ink); font-size:11px; font-weight:650; letter-spacing:.02em; white-space:nowrap; }
.pricing-wrap .price-number { display:grid; gap:6px; justify-items:end; text-align:right; }
.pricing-wrap .price-number strong { font-size:32px; line-height:1; font-weight:600; letter-spacing:-.035em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pricing-wrap .price-number > span { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pricing-wrap .pricing-facts { display:grid; gap:16px; margin:40px 0 0; padding:0; list-style:none; font-size:17px; }
.pricing-wrap .pricing-facts li { display:flex; align-items:center; gap:14px; }
.pricing-wrap .pricing-facts li::before { content:""; flex-shrink:0; width:18px; height:10px; margin-top:-4px; border-left:2.5px solid var(--accent-ink); border-bottom:2.5px solid var(--accent-ink); transform:rotate(-45deg); }
.tc-art .tc { transform-box:fill-box; transform-origin:center; }
@keyframes tc-carousel { 0%,8% { transform:translate(0,0) scale(1); } 28%,38% { transform:translate(calc(var(--x1) * 1px),calc(var(--y1) * 1px)) scale(var(--k1)); } 58%,68% { transform:translate(calc(var(--x2) * 1px),calc(var(--y2) * 1px)) scale(var(--k2)); } 88%,100% { transform:translate(0,0) scale(1); } }
@keyframes tc-rise { 0%,10% { transform:translateY(0); } 32% { transform:translateY(var(--tc-lift)); } 55%,100% { transform:translateY(0); } }
@keyframes tc-turn { 0%,15% { transform:rotateY(0); } 75%,100% { transform:rotateY(360deg); } }
@media (prefers-reduced-motion:no-preference) {
  .price-list :where(.tc-art:not(.tc-1)) .tc { animation:tc-rise 1.8s cubic-bezier(.77,0,.175,1) infinite; }
  .price-list .tc-1 { animation:tc-turn 1.8s var(--ease) infinite; }
  .price-list .tc-3 .tc { animation-name:tc-carousel; animation-duration:3.4s; }
  .price-list .tc-5 .tc { animation-delay:calc(var(--i) * 90ms); --tc-lift:-14px; }
  .price-list .tc-10 .tc { animation-delay:calc(var(--i) * 120ms); --tc-lift:-10px; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .price-list:has(.price-option:hover) .price-option:not(:hover) .tc,
  .price-list:has(.price-option:hover) .price-option:not(:hover) .tc-1 { animation:none; }
}
@media (max-width:599px) {
  .pricing-wrap .price-option { gap:14px; padding:12px 16px 12px 12px; }
  .pricing-wrap .price-art { width:64px; height:64px; border-radius:12px; }
  .pricing-wrap .price-art svg { width:50px; height:50px; }
  .pricing-wrap .price-pack strong { font-size:18px; }
  .pricing-wrap .price-pack > span { display:none; }
  .pricing-wrap .price-pack em { font-size:11px; }
  .pricing-wrap .price-long { display:none; }
  .pricing-wrap .price-badge { font-size:10px; padding:3px 8px; }
  .pricing-wrap .price-number > span { font-size:11px; }
  .pricing-wrap .price-number strong { font-size:23px; }
  .pricing-wrap .pricing-facts { margin-top:28px; gap:12px; font-size:15px; }
}
