/* Course bundles: website page (.bw-*) and admin dashboard (.bx-*) */
.bw-stats{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 30px}
.bw-stats div{flex:1 1 170px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,rgba(224,168,0,.1),#101010)}
.bw-stats b{display:block;font:400 2.2rem Anton,Impact,sans-serif;color:var(--orange,#E0A800)}
.bw-stats span{color:var(--ash);font-size:.82rem}
.bw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:26px}
.bw-card{position:relative;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:#101010;border:1px solid var(--line);opacity:0;transform:translateY(40px) scale(.97);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .5s;transition-delay:calc(var(--i)*90ms)}
.bw-card.in{opacity:1;transform:none}
.bw-card.in:hover{transform:translateY(-8px);border-color:var(--orange,#E0A800);box-shadow:0 30px 70px -30px rgba(224,168,0,.55)}
.bw-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 60%,rgba(224,168,0,.9) 80%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none;z-index:3;animation:bwSpin 5s linear infinite}
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes bwSpin{to{--a:360deg}}
.bw-card:hover::before{opacity:1}
.bw-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0B0B0B}
.bw-img img,.bw-img .bw-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.bw-card:hover .bw-img img,.bw-card:hover .bw-img .bw-bg{transform:scale(1.08)}
.bw-bg{background-size:cover;background-position:center}
.bw-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#101010);pointer-events:none}
.bw-img::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);z-index:2;transition:left .9s}
.bw-card:hover .bw-img::before{left:130%}
.bw-ribbon{position:absolute;top:16px;left:16px;z-index:4;background:var(--orange,#E0A800);color:#0B0B0B;font:800 .76rem Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:7px 14px;animation:bwPop .7s .4s both}
@keyframes bwPop{from{transform:scale(0) rotate(-20deg)}60%{transform:scale(1.12)}to{transform:none}}
.bw-count{position:absolute;top:16px;right:16px;z-index:4;background:rgba(11,11,11,.7);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.74rem;font-weight:700}
.bw-body{padding:6px 24px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.bw-body h3{margin:0;font:400 1.7rem/1.1 Anton,Impact,sans-serif;letter-spacing:.01em}
.bw-body p{margin:0;color:var(--ash);font-size:.92rem;line-height:1.55}
.bw-courses{list-style:none;margin:0;padding:0 0 0 20px;position:relative;display:grid;gap:12px}
.bw-courses::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--orange,#E0A800),rgba(224,168,0,.1))}
.bw-courses li{position:relative;display:grid;gap:1px;opacity:0;transform:translateX(-12px);transition:all .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--j)*110ms + .35s)}
.bw-card.in .bw-courses li{opacity:1;transform:none}
.bw-courses li::before{content:"";position:absolute;left:-20px;top:6px;width:12px;height:12px;border-radius:50%;background:#101010;border:2px solid var(--orange,#E0A800)}
.bw-courses b{font-size:.94rem}.bw-courses span{font-size:.78rem;color:var(--ash)}
.bw-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px dashed var(--line)}
.bw-price b{display:block;font:400 2rem Anton,Impact,sans-serif;color:var(--orange,#E0A800);line-height:1}
.bw-price s{color:var(--ash);font-size:.85rem}
.bw-price em{font-style:normal;color:#6BCB77;font-size:.78rem;font-weight:700;margin-left:8px}
.bw-foot .btn{position:relative;overflow:hidden}
.bw-foot .btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:bwShine 3.2s infinite}
@keyframes bwShine{60%,100%{left:140%}}
/* Admin cards */
.bx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.bx-stats div{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#101010}
.bx-stats b{display:block;font:400 1.9rem Anton,Impact,sans-serif;color:var(--orange,#E0A800)}.bx-stats span{font-size:.78rem;color:var(--ash)}
.bx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.bx-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#101010;cursor:pointer;opacity:0;transform:translateY(22px);animation:bxIn .6s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms);transition:transform .35s,border-color .35s,box-shadow .35s;display:flex;flex-direction:column}
@keyframes bxIn{to{opacity:1;transform:none}}
.bx-card:hover{transform:translateY(-5px);border-color:var(--orange,#E0A800);box-shadow:0 20px 50px -28px var(--orange,#E0A800)}
.bx-card.off{opacity:.7}
.bx-img{position:relative;aspect-ratio:16/9;background:#0B0B0B;overflow:hidden}
.bx-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.bx-card:hover .bx-img img{transform:scale(1.07)}
.bx-ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#1c1c1c,#0f0f0f);background-size:200% 200%;animation:bxShift 6s ease infinite}
.bx-ph span{font:400 4rem Anton,Impact,sans-serif;color:rgba(224,168,0,.5)}
@keyframes bxShift{50%{background-position:100% 100%}}
.bx-save{position:absolute;top:12px;left:12px;font-style:normal;background:var(--orange,#E0A800);color:#0B0B0B;font-weight:800;font-size:.7rem;border-radius:999px;padding:5px 11px}
.bx-state{position:absolute;top:12px;right:12px}
.bx-body{padding:16px;display:grid;gap:10px;flex:1}
.bx-body h3{margin:0;font-size:1.05rem}
.bx-price{margin:0;display:flex;gap:10px;align-items:baseline}.bx-price b{font:400 1.5rem Anton,Impact,sans-serif;color:var(--orange,#E0A800)}.bx-price s{color:var(--ash);font-size:.82rem}
.bx-courses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bx-courses li{font-size:.72rem;background:rgba(244,244,240,.07);border-radius:999px;padding:4px 10px}
.bx-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;font-size:.76rem;color:var(--ash)}
.bx-up{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.bx-prev{aspect-ratio:16/9;border:1px dashed var(--line);border-radius:12px;overflow:hidden;display:grid;place-items:center;color:var(--ash);font-size:.74rem;background:#0B0B0B;transition:border-color .3s}
.bx-up:hover .bx-prev{border-color:var(--orange,#E0A800)}
.bx-prev img{width:100%;height:100%;object-fit:cover;animation:bxIn .4s both}
.bx-upact{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bx-upact small{flex-basis:100%}
@media(max-width:520px){.bx-up{grid-template-columns:1fr}.bx-stats{grid-template-columns:1fr 1fr 1fr}}
@media (prefers-reduced-motion:reduce){.bw-card,.bw-courses li,.bx-card{transition:none;animation:none;opacity:1;transform:none}.bw-card::before,.bw-foot .btn::after,.bw-ribbon{animation:none}}

/* ===== v2: offer panel, coming soon, waiting list (public + student) ===== */
.bw-ribbon.soon{background:#1FE0C4;color:#06201C}
.bw-card.is-soon:hover{border-color:#1FE0C4;box-shadow:0 30px 70px -30px rgba(31,224,196,.4)}
.bw-offer{display:grid;gap:8px;margin-top:auto;padding:16px 18px;border-radius:18px;border:1px solid rgba(224,168,0,.42);background:linear-gradient(135deg,rgba(224,168,0,.14),rgba(255,90,31,.07))}
.bw-offer.soon{border-color:rgba(31,224,196,.4);background:linear-gradient(135deg,rgba(31,224,196,.1),rgba(224,168,0,.05))}
.bw-offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-height:28px}
.bw-pct{display:inline-block;padding:4px 12px;border-radius:999px;background:linear-gradient(135deg,#FF5A1F,#E0A800);color:#0A0A0C;font:400 .95rem Anton,Impact,sans-serif;letter-spacing:.06em}
.bw-tag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);font-weight:700}
.bw-cd{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:#F7D35C;font-variant-numeric:tabular-nums}
.bw-cd i{width:8px;height:8px;border-radius:50%;background:#FF5A1F;animation:bwPing 1.6s infinite}
.bw-cd em{font-style:normal}.bw-cd.urgent{color:#ff8a5c}.bw-cd.ended{color:var(--ash)}.bw-cd.ended i{animation:none;background:var(--ash)}
@keyframes bwPing{0%{box-shadow:0 0 0 0 rgba(255,90,31,.7)}70%,100%{box-shadow:0 0 0 8px rgba(255,90,31,0)}}
.bw-prices{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.bw-prices b{font:400 2.5rem/1 Anton,Impact,sans-serif;color:#F7D35C;letter-spacing:.01em}
.bw-prices s{color:var(--ash);font-size:1.15rem;text-decoration-color:#FF5A1F;text-decoration-thickness:2px}
.bw-body .bw-saveline{margin:0;font-size:.84rem;color:var(--bone,#F2EDE4)}.bw-saveline strong{color:#6BCB77}.bw-body .bw-saveline.muted{color:var(--ash)}
.bw-cta{width:100%;justify-content:center;text-align:center;padding-block:15px;font-size:1rem;position:relative;overflow:hidden}
.bw-cta.btn-solid::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:bwShine 3.2s infinite}
.bw-wl-in{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;border:1px solid rgba(107,203,119,.4);background:rgba(107,203,119,.08)}
.bw-wl-ok{color:#6BCB77;font-weight:700;font-size:.9rem}
.bw-body .bw-wl-count{margin:-4px 0 0;text-align:center;font-size:.78rem}

/* ===== v2: admin bundle editor ===== */
.bx-card .bx-state{text-transform:none}
.bd-count{font-style:normal;color:var(--orange,#E0A800);text-transform:none;letter-spacing:0;font-weight:600;margin-left:4px}
.bd-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bd-segopt{position:relative;display:block;cursor:pointer;text-transform:none;letter-spacing:0}
.bd-segopt input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bd-segopt span{display:grid;gap:3px;height:100%;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#0d0d10;transition:border-color .25s,background .25s,box-shadow .25s}
.bd-segopt b{font-size:.92rem;font-weight:700;color:var(--bone,#F2EDE4)}
.bd-segopt small{font-size:.76rem;font-weight:400;color:var(--ash);line-height:1.4}
.bd-segopt:hover span{border-color:rgba(244,244,240,.3)}
.bd-segopt input:checked+span{border-color:var(--orange,#E0A800);background:rgba(224,168,0,.1);box-shadow:0 0 0 1px var(--orange,#E0A800) inset}
.bd-segopt.soon input:checked+span{border-color:#1FE0C4;background:rgba(31,224,196,.09);box-shadow:0 0 0 1px #1FE0C4 inset}
.bd-segopt input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.bd-pick{display:grid;gap:8px;max-height:310px;overflow:auto;padding:2px 4px 2px 0}
.bd-opt{position:relative;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#0d0d10;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400;transition:border-color .2s,background .2s}
.bd-opt:hover{border-color:rgba(244,244,240,.3)}
.bd-opt.on{border-color:var(--orange,#E0A800);background:rgba(224,168,0,.08)}
.bd-opt input{position:absolute;opacity:0;pointer-events:none}
.bd-opt input:focus-visible~.bd-tick{outline:2px solid #fff;outline-offset:2px}
.bd-tick{width:20px;height:20px;border-radius:6px;border:2px solid rgba(244,244,240,.3);display:grid;place-items:center;transition:background .2s,border-color .2s}
.bd-opt.on .bd-tick{background:var(--orange,#E0A800);border-color:var(--orange,#E0A800)}
.bd-opt.on .bd-tick::after{content:"";width:5px;height:10px;border:solid #0B0B0B;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.bd-main{display:grid;gap:2px;min-width:0}.bd-main b{font-size:.9rem;font-weight:600;color:var(--bone,#F2EDE4)}.bd-main small{font-size:.74rem;color:var(--ash)}
.bd-soon{font-style:normal;color:#1FE0C4;font-weight:700}
.bd-pr{font-weight:700;color:#F7D35C;font-size:.86rem;white-space:nowrap}
.bd-pricing{display:grid;gap:14px;padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.bd-pricing-h{display:grid;gap:2px}.bd-pricing-h b{font-size:.95rem;color:var(--bone,#F2EDE4);text-transform:none;letter-spacing:0}.bd-pricing-h span{font-size:.82rem;color:var(--ash);text-transform:none;letter-spacing:0;font-weight:400}
.bd-pricing .offer-fields{margin:0}
.bd-link{background:none;border:0;padding:0;font:inherit;color:var(--orange,#E0A800);text-decoration:underline;cursor:pointer;text-transform:none;letter-spacing:0}
@media(max-width:560px){.bd-seg{grid-template-columns:1fr}.bd-opt{grid-template-columns:22px 1fr}.bd-pr{grid-column:2}}
@media (prefers-reduced-motion:reduce){.bw-cd i,.bw-cta.btn-solid::after{animation:none}}
.bd-pricing>.grid-2{align-items:start}
