/* CrossFit MadCity · Pricing page (Stripe Payment Links) */
.price-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(1rem, 2.5vw, 1.75rem); }
.price-card { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line-d); border-top: 3px solid var(--red); background: var(--ink-2, #161616); padding: clamp(1.5rem, 3vw, 2.25rem); }
.sec.light .price-card { background: #fff; border-color: var(--line-l); border-top-color: var(--red); }
.price-card .label { color: var(--red); display: block; margin-bottom: 1rem; }
.price-card h3 { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1; margin-bottom: 1rem; }
.price-card .amt { font-family: var(--f-display); font-weight: 400; font-size: clamp(2.8rem, 6vw, 4rem); line-height: 1; margin-bottom: .35rem; }
.price-card .amt small { font-family: var(--f-mono); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin-left: .35rem; }
.price-card .per { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1.25rem; }
.price-card p { font-size: .98rem; line-height: 1.7; margin-bottom: 1.5rem; flex: 1; }
.price-card .pill { align-self: flex-start; }
.price-card.featured { box-shadow: inset 0 0 0 1px var(--red); }
.price-card .tag { position: absolute; top: -.8rem; right: 1rem; background: var(--red); color: #fff; font-family: var(--f-mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; padding: .3rem .6rem; border-radius: 999px; }
.price-note { margin-top: clamp(1.5rem, 3vw, 2.25rem); font-size: .92rem; line-height: 1.7; max-width: 48rem; }
.price-note a { color: var(--red); }
.free-band { max-width: 1240px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; border: 1px solid var(--line-d); border-left: 4px solid var(--red); padding: 1.25rem 1.5rem; }
.free-band h2 { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.5rem, 3vw, 2.1rem); line-height: 1; }
.free-band p { color: var(--muted-d); font-size: .98rem; margin-top: .35rem; max-width: 36rem; }
.shop-row { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.shop-gallery { display: grid; gap: .75rem; }
.shop-art { aspect-ratio: 4 / 3; background: var(--ink); border-top: 3px solid var(--red); overflow: hidden; }
.shop-art img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.shop-thumbs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.shop-thumbs button { display: block; width: 100%; padding: 0; border: 2px solid transparent; background: var(--ink); cursor: pointer; aspect-ratio: 1 / 1; overflow: hidden; }
.shop-thumbs button.is-active { border-color: var(--red); }
.shop-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sizes { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; list-style: none; }
.sizes li { font-family: var(--f-mono); font-size: .74rem; letter-spacing: .08em; border: 1px solid var(--line-l); border-radius: 999px; padding: .4rem .8rem; }
.manage-row { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 1.75rem; }
@media (max-width: 760px) { .shop-row { grid-template-columns: 1fr; } }

/* .prose a is red; keep buy-button label white on the red pill */
.prose a.pill { color: #fff; }
.prose a.pill:hover { color: #fff; }
