/* Aether Cart — pricing cards. Uses Aether theme tokens (falls back to sane defaults). */
.ae-cart .ae-cart-head { text-align: center; margin: 0 auto 2rem; max-width: 44rem; }
.ae-cart .ae-cart-head .ae-lead { color: var(--ae-text-secondary, #475569); }
.ae-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr)); gap: 1.25rem; align-items: stretch; }
.ae-plan { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem; background: var(--ae-bg-elevated, #fff); border: 1px solid var(--ae-border, #e2e8f0); border-radius: var(--ae-radius-xl, 1rem); box-shadow: var(--ae-shadow-sm); transition: transform .2s, box-shadow .2s, border-color .2s; }
.ae-plan:hover { transform: translateY(-3px); box-shadow: var(--ae-shadow-lg); border-color: var(--ae-border-strong, #cbd5e1); }
.ae-plan.is-featured { border-color: var(--ae-primary, #6366f1); box-shadow: 0 0 0 3px rgba(var(--ae-primary-rgb, 99,102,241), .18), var(--ae-shadow-lg); }
.ae-plan-flag { position: absolute; top: -.75rem; left: 50%; transform: translateX(-50%); background: var(--ae-primary, #6366f1); color: #fff; font-size: .72rem; font-weight: 700; padding: .25rem .75rem; border-radius: 999px; white-space: nowrap; }
.ae-plan-name { font-size: 1.15rem; font-weight: 700; margin: 0; color: var(--ae-text, #0f172a); }
.ae-plan-tag { margin: .25rem 0 0; font-size: .875rem; color: var(--ae-text-muted, #64748b); }
.ae-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; }
.ae-plan-price small { width: 100%; color: var(--ae-text-muted, #64748b); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.ae-plan-price strong { font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 800; color: var(--ae-text, #0f172a); letter-spacing: -.02em; }
.ae-plan-price span { color: var(--ae-text-muted, #64748b); font-size: .875rem; }
.ae-plan-body { flex: 1; font-size: .9rem; color: var(--ae-text-secondary, #475569); }
.ae-plan-features { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.ae-plan-features li { padding-left: 1.5rem; position: relative; }
.ae-plan-features li::before { content: ""; position: absolute; left: 0; top: .35em; width: 1rem; height: 1rem; border-radius: 50%; background: var(--ae-secondary-soft, #f0fdfa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314b8a6' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/70% no-repeat; }
.ae-plan-features strong { color: var(--ae-text, #0f172a); }
.ae-plan-stock { margin: .5rem 0 0; text-align: center; font-size: .78rem; color: var(--ae-text-muted, #64748b); }
