/* Plans page frame. The six pricing cards (/pricing/*) are locked; this styles only what surrounds them. */
.plans-page{margin-top:24px}
.pl-head{display:grid;justify-items:center;gap:12px;text-align:center;padding:24px 0 8px;background:radial-gradient(50% 80% at 50% 0%,rgba(139,92,246,.22),transparent 70%)}
.plans-title{margin:0;font-size:clamp(48px,8vw,80px);letter-spacing:-.02em}
.pl-head .sub{margin-top:0}
.pl-includes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 0;padding:0;list-style:none;max-width:760px}
.pl-includes li{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(88,140,255,.35);background:rgba(10,14,48,.6);color:var(--muted);font:600 13px Inter,sans-serif}
.pl-includes li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(230,184,92,.7)}

/* FAQ: native <details>, keyboard and screen-reader friendly */
.pl-faq .faq{display:grid;gap:10px;max-width:780px;margin:28px auto 0}
.faq details{border-radius:18px;border:1px solid rgba(126,140,255,.22);background:linear-gradient(180deg,rgba(30,34,96,.6),rgba(14,18,58,.75));transition:border-color .25s,background .25s}
.faq details[open]{border-color:rgba(150,160,255,.45);background:linear-gradient(180deg,rgba(36,40,108,.75),rgba(16,20,62,.85))}
.faq summary{position:relative;display:flex;align-items:center;min-height:60px;padding:14px 56px 14px 22px;cursor:pointer;list-style:none;font:600 16px/1.4 Inter,sans-serif;color:#fff;border-radius:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:50%;width:10px;height:10px;margin-top:-7px;border-right:2px solid var(--lav);border-bottom:2px solid var(--lav);transform:rotate(45deg);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.faq details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.faq summary:hover{color:var(--gold-hi)}
.faq details p{margin:0;padding:0 22px 20px;color:var(--muted);font-size:15px;line-height:1.6;max-width:680px}
.pl-faq .fine{margin-top:18px}

/* Gift band */
.pl-gift{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;align-items:center;max-width:880px;margin-left:auto;margin-right:auto;padding:22px;border-radius:24px;border:1px solid rgba(139,92,246,.4);background:radial-gradient(80% 140% at 0% 50%,rgba(139,92,246,.25),transparent 60%),rgba(18,22,66,.7)}
.pl-gift h2{text-align:left;font-size:clamp(22px,1.5vw + 16px,28px)}
.pl-gift .fine{margin:4px 0 0;font-size:14px;color:var(--muted)}
.pl-gift .mj-btn{grid-column:1/-1;justify-self:start}
.pl-gift-ic{width:48px;height:48px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(230,184,92,.4))}
@media (min-width:700px){.pl-gift{grid-template-columns:auto 1fr auto;padding:24px 30px}.pl-gift .mj-btn{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.faq summary::after{transition:none}}
/* Frame-side guard for the locked cards: never wider than the phone (fixes 375/390 horizontal scroll). */
[data-mj-pricing] .pr-cards{grid-template-columns:minmax(0,1fr)}
[data-mj-pricing] .pr-card{min-width:0}
