/* Shared plan descriptions and the VWE membership directory. */
.vwe-plans-page { padding-bottom:24px; }
.vwe-plans-availability { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-top:26px; }
.vwe-plans-availability p { margin:0; color:#aab8cf; font-size:12px; }
.vwe-plan-jumps { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; }
.vwe-plan-jumps a { display:inline-flex; align-items:center; min-height:44px; padding:9px 15px; border:1px solid #90b9ec2a; border-radius:100px; color:#bdeaf5; font-size:12px; font-weight:750; background:#80cfff08; }
.vwe-plan-jumps a:hover { border-color:#7edff16b; background:#80cfff12; }
.vwe-plans-section { padding:42px 0 46px; scroll-margin-top:105px; }
.vwe-plans-section + .vwe-plans-section { border-top:1px solid #a2bfeb1a; }
.vwe-plan-grid { display:grid; gap:20px; }
.vwe-plan-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vwe-plan-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vwe-plan-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:30px; border:1px solid #8fb9ec28; border-radius:20px; background:radial-gradient(ellipse at 100% 0,#568bff12,transparent 60%),linear-gradient(140deg,#121c30,#0d1425); scroll-margin-top:110px; }
.vwe-plan-card-top { display:flex; align-items:center; justify-content:space-between; width:100%; gap:14px; margin-bottom:24px; }
.vwe-plan-symbol { display:grid; place-items:center; width:43px; height:43px; color:#8de3f1; font-size:23px; border:1px solid #7bdbed30; border-radius:12px; background:#58bada10; }
.vwe-plan-label { display:block; margin:0 0 10px; color:#acbbd1; font:11px/1.6 monospace; letter-spacing:.1em; text-transform:uppercase; }
.vwe-plan-card-top .vwe-plan-label { margin:0; }
.vwe-plan-card h3 { margin:0 0 13px; color:#f0f5ff; font-size:27px; letter-spacing:-.04em; line-height:1.2; }
.vwe-plan-summary { margin:0; color:#b0bed2; font-size:14px; line-height:1.8; }
.vwe-plan-price { display:flex; align-items:center; gap:12px; margin:26px 0 23px; }
.vwe-plan-price strong { color:#f0f6ff; font-size:40px; font-weight:700; letter-spacing:-.055em; line-height:1.2; }
.vwe-plan-price > span { color:#c0cee1; font-size:12px; line-height:1.7; }
.vwe-plan-price small { display:block; color:#94a8c3; font-size:11px; }
.vwe-plan-label--benefits { margin-top:0; margin-bottom:10px; }
.vwe-plan-benefits { display:grid; gap:12px; padding:0; margin:0 0 23px; list-style:none; }
.vwe-plan-benefits li { position:relative; padding-left:21px; color:#c0cde0; font-size:13px; line-height:1.7; }
.vwe-plan-benefits li::before { content:'·'; position:absolute; left:1px; top:-3px; font-size:25px; color:#78ddeb; }
.vwe-plan-details { width:100%; border-top:1px solid #92b5e329; }
.vwe-plan-details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:13px 0; color:#b9ecf5; font-size:12px; font-weight:750; cursor:pointer; list-style:none; }
.vwe-plan-details summary::-webkit-details-marker { display:none; }
.vwe-plan-details summary > span { font-size:19px; font-weight:400; transition:rotate .2s ease; }
.vwe-plan-details[open] summary > span { rotate:45deg; }
.vwe-plan-details > div { padding-bottom:14px; }
.vwe-plan-details p { margin:0 0 11px; color:#aabbd1; font-size:12px; line-height:1.8; }
.vwe-plan-details p:last-child { margin-bottom:0; }
.vwe-plan-card-actions { display:grid; gap:12px; width:100%; margin-top:auto; padding-top:16px; }
.vwe-plan-card .text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:auto; }
.vwe-plan-status-note { color:#96a7bf; font-size:11px; }
.vwe-plan-section-note { margin:19px 0 0; color:#9eaec5; font-size:12px; line-height:1.8; }
.vwe-plan-card--forge > .status { margin-bottom:19px; }
.vwe-plan-card--forge .vwe-plan-summary { margin-bottom:20px; }
.vwe-plan-card--forge .vwe-plan-section-note { margin:0 0 18px; }
.vwe-plan-card--rp { padding:25px; }
.vwe-plan-card--rp .vwe-plan-price strong { font-size:36px; }
.vwe-plan-faq .vwe-plan-details { padding:2px 20px; border:1px solid #92b5e324; border-radius:12px; margin-bottom:10px; background:#10182a; }
.vwe-plan-faq .vwe-plan-details summary { min-height:54px; font-size:14px; color:#e2edf9; }
.vwe-plan-support { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; margin-top:25px; }
.vwe-plan-support p { margin:0; color:#adbed2; font-size:13px; }
.vwe-plan-support a { display:inline-flex; align-items:center; min-height:44px; }
.vwe-product-plan { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; margin:40px 0; padding-top:36px; border-top:1px solid #9abce529; }
.vwe-product-plan h2 { margin:13px 0 17px; font-size:clamp(28px,3vw,38px); }
.vwe-product-plan > div > p { color:#afbed3; font-size:14px; line-height:1.8; }
.vwe-product-plan .text-link { display:inline-flex; align-items:center; min-height:44px; margin-top:10px; }
.vwe-product-plan-panel { padding:28px; border:1px solid #8fb9ec2a; border-radius:17px; background:#101b2e; }
.vwe-product-plan-panel > p:last-child { margin:0; color:#9eafc7; font-size:12px; }
.vwe-plan-teaser { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-top:40px; padding:31px; border:1px solid #8fb9ec2c; border-radius:18px; background:radial-gradient(ellipse at 0 20%,#478fd919,transparent 65%),#10182a; }
.vwe-plan-teaser h2 { margin:12px 0; font-size:30px; line-height:1.2; letter-spacing:-.04em; }
.vwe-plan-teaser p { max-width:560px; margin:0; color:#aabbcf; font-size:13px; }
.vwe-plan-teaser > a { flex-shrink:0; }
@media(max-width:1050px) { .primary-nav { gap:14px; } .primary-nav a { font-size:11px; } .vwe-plan-grid--three { grid-template-columns:1fr; } .vwe-plan-card--rp { padding:28px; } }
@media(max-width:800px) { .vwe-product-plan { grid-template-columns:1fr; gap:20px; } .vwe-plan-card { padding:25px; } .vwe-plan-grid { gap:16px; } .vwe-plan-card h3 { font-size:24px; } .primary-nav a { font-size:13px; } }
@media(max-width:640px) { .vwe-plan-grid--two { grid-template-columns:1fr; } .vwe-plans-section { padding:30px 0 38px; } .vwe-plan-card { padding:24px; } .vwe-plan-teaser { display:block; padding:24px; } .vwe-plan-teaser > a { margin-top:20px; } .vwe-plan-summary { font-size:13px; } .vwe-plan-price strong { font-size:38px; } .vwe-plans-availability { align-items:flex-start; } .vwe-plan-faq .vwe-plan-details { padding-inline:16px; } .vwe-plan-jumps { gap:7px; } .vwe-plan-jumps a { font-size:11px; padding-inline:12px; } }

.product-card .product-plan-preview { margin-top:12px; color:#bce8f3; font-size:11px; }
