/* Offers, waiting list and course bundles (student dashboard + admin). Gold and orange urgency on the DEBONE dark theme. */
:root{--of-gold:#E0A800;--of-gold2:#F7D35C;--of-hot:#FF5A1F;--of-ok:#6BCB77}

/* ---------- Urgency: price, saving, countdown ---------- */
.offer{display:grid;gap:8px;padding:14px 14px 12px;margin:2px 6px 0;border-radius:16px;border:1px solid rgba(224,168,0,.4);
  background:linear-gradient(135deg,rgba(224,168,0,.14),rgba(255,90,31,.1));position:relative;overflow:hidden}
.offer::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.12) 50%,transparent 65%);transform:translateX(-120%);animation:of-shine 3.6s ease-in-out infinite;pointer-events:none}
.offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.offer-pct{display:inline-block;padding:4px 11px;border-radius:999px;background:linear-gradient(135deg,var(--of-hot),var(--of-gold));color:#0A0A0C;font:400 .95rem Anton,Impact,sans-serif;letter-spacing:.06em;animation:of-pop 2.4s ease-in-out infinite}
.offer-cd{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--of-gold2);font-variant-numeric:tabular-nums}
.offer-cd i{width:8px;height:8px;border-radius:50%;background:var(--of-hot);box-shadow:0 0 0 0 rgba(255,90,31,.7);animation:of-ping 1.6s infinite}
.offer-cd em{font-style:normal}
.offer-cd.urgent{color:#ff8a5c}
.offer-cd.urgent em{animation:of-blink 1.2s steps(2,start) infinite}
.offer-cd.ended{color:var(--ash,#9A968E)}.offer-cd.ended i{animation:none;background:var(--ash,#9A968E);box-shadow:none}
.offer-cd.inline{display:inline;font-weight:700;color:var(--of-gold2)}.offer-cd.inline i{display:none}
.offer-prices{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.offer-prices s{color:var(--ash,#9A968E);font-size:1rem;text-decoration-color:var(--of-hot);text-decoration-thickness:2px}
.offer-prices b{font:400 1.9rem Anton,Impact,sans-serif;color:var(--of-gold2);letter-spacing:.01em}
.offer-save{margin:0;font-size:.82rem;color:var(--bone,#F2EDE4)}.offer-save strong{color:var(--of-ok)}
.offer-big{margin:18px auto;max-width:440px;padding:20px;text-align:left}
.offer-big .offer-prices b{font-size:2.6rem}.offer-big .offer-prices s{font-size:1.25rem}
.pr-line{margin:0 6px}.pr-line b{font:400 1.5rem Anton,Impact,sans-serif;color:var(--of-gold2)}.pr-line span{margin-left:8px;color:var(--ash,#9A968E);font-size:.82rem}
.pr-big{text-align:center}

.dcourse{position:relative}
.dcourse.has-offer{border-color:rgba(224,168,0,.38)}
.dcourse.has-offer::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:conic-gradient(from var(--of-a,0deg),transparent 0 70%,var(--of-gold) 85%,var(--of-hot) 95%,transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:of-spin 5s linear infinite}
@property --of-a{syntax:"<angle>";initial-value:0deg;inherits:false}
.corner-ribbon{position:absolute;top:24px;right:24px;z-index:3;padding:5px 12px;border-radius:999px;background:linear-gradient(135deg,var(--of-hot),var(--of-gold));color:#0A0A0C;font:400 .9rem Anton,Impact,sans-serif;letter-spacing:.06em;box-shadow:0 8px 22px rgba(255,90,31,.45);animation:of-wiggle 3s ease-in-out infinite}
.theme-brand .tag.hot,.tag.hot{color:#0A0A0C;background:var(--of-gold);border-color:var(--of-gold);font-weight:700}
.dcourse{animation:of-rise .6s var(--ease,cubic-bezier(.2,.7,.1,1)) both;animation-delay:calc(var(--i,0)*70ms)}

/* The call-to-action pulses so it pulls the eye */
.btn-hurry{position:relative;overflow:hidden;animation:of-pulse 2s ease-in-out infinite}
.btn-hurry::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-130%);animation:of-shine 2.8s ease-in-out infinite}
.btn-hurry:hover{animation-play-state:paused;transform:translateY(-2px) scale(1.03)}

/* Biggest deal banner */
.deal-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 22px;padding:22px 24px;border-radius:20px;
  border:1px solid rgba(224,168,0,.45);background:linear-gradient(120deg,#1b1507,#16100a 55%,#1d0f08);animation:of-rise .7s var(--ease,ease) both}
.deal-banner>div{position:relative;z-index:1;flex:1 1 280px}.deal-banner .btn{position:relative;z-index:1}
.deal-banner h3{margin:4px 0 6px;font-size:clamp(1.3rem,2.4vw,1.9rem);color:var(--of-gold2)}
.deal-banner p{margin:0}
.deal-glow{position:absolute;width:340px;height:340px;right:-60px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,31,.38),transparent 65%);animation:of-float 6s ease-in-out infinite}

/* Enrol modal deal strip */
.enrol-deal{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px dashed rgba(224,168,0,.55);background:rgba(224,168,0,.09)}
.enrol-deal div{display:grid;flex:1;min-width:120px}.enrol-deal s{color:var(--ash,#9A968E)}.enrol-deal b{color:var(--of-ok)}
.paywall.has-offer{border-color:rgba(224,168,0,.45)}

/* ---------- Waiting list (coming-soon courses) ---------- */
.dcourse.is-soon{border-style:dashed}
.wl-box{display:grid;gap:10px;margin:2px 6px 0;padding:14px;border-radius:16px;border:1px solid rgba(31,224,196,.3);background:linear-gradient(135deg,rgba(31,224,196,.08),rgba(255,255,255,.02))}
.wl-hot{display:flex;align-items:center;gap:9px;margin:0;font-size:.88rem;color:var(--bone,#F2EDE4)}.wl-hot b{color:var(--teal,#1FE0C4);font-size:1.05rem}
.wl-dot{width:9px;height:9px;border-radius:50%;background:var(--teal,#1FE0C4);animation:of-ping-teal 1.7s infinite;flex:none}
.wl-in{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.wl-ok{color:var(--of-ok);font-weight:600;font-size:.88rem;animation:of-pop-in .5s var(--ease,ease) both}
.wl-big{max-width:420px;margin:18px auto 0;text-align:left}
.wl-box .btn{justify-self:start}

/* ---------- Course bundles in the dashboard ---------- */
.dbd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.dbd-stats div{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#141418,#0e0e11);animation:of-rise .6s var(--ease,ease) both}
.dbd-stats div:nth-child(2){animation-delay:.08s}.dbd-stats div:nth-child(3){animation-delay:.16s}
.dbd-stats b{display:block;font:400 2.1rem Anton,Impact,sans-serif;color:var(--of-gold)}.dbd-stats span{font-size:.8rem;color:var(--ash,#9A968E)}
.dbd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px}
.dbd-card,.dbd-course,.dbd-hero,.dbd-panel{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .7s var(--ease,ease),transform .7s var(--ease,ease),border-color .4s,box-shadow .5s}
.dbd-card.in,.dbd-course.in,.dbd-hero.in,.dbd-panel.in{opacity:1;transform:none}
.dbd-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:var(--graphite,#141418);overflow:hidden;transition-delay:calc(var(--i,0)*70ms)}
.dbd-card:hover{transform:translateY(-6px);border-color:rgba(224,168,0,.55);box-shadow:0 26px 60px rgba(0,0,0,.55)}
.dbd-card.owned{border-color:rgba(107,203,119,.45)}
.dbd-img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0c0c0e}
.dbd-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease,ease)}.dbd-card:hover .dbd-img img{transform:scale(1.08)}
.dbd-ph{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(224,168,0,.3),transparent 60%),linear-gradient(135deg,#1a1a20,#0e0e11)}
.dbd-ph span{font:400 4.5rem Anton,Impact,sans-serif;color:rgba(247,211,92,.85)}
.dbd-ribbon{position:absolute;top:14px;left:14px;padding:5px 13px;border-radius:999px;background:linear-gradient(135deg,var(--of-hot),var(--of-gold));color:#0A0A0C;font:400 .95rem Anton,Impact,sans-serif;letter-spacing:.05em;box-shadow:0 8px 22px rgba(255,90,31,.45);animation:of-wiggle 3s ease-in-out infinite}
.dbd-ribbon.big{font-size:1.2rem;padding:7px 16px}
.dbd-count{position:absolute;bottom:12px;right:12px;padding:4px 11px;border-radius:999px;background:rgba(10,10,12,.78);backdrop-filter:blur(6px);font-size:.76rem;font-weight:600}
.dbd-own{position:absolute;top:14px;right:14px;padding:4px 11px;border-radius:999px;background:var(--of-ok);color:#0A0A0C;font-size:.76rem;font-weight:700}
.dbd-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.dbd-body h3{margin:0;font-size:1.6rem}.dbd-body h3 a{color:inherit;text-decoration:none}.dbd-body h3 a:hover{color:var(--of-gold2)}
.dbd-desc{margin:0;color:var(--ash,#9A968E);font-size:.92rem}
.dbd-list{list-style:none;margin:2px 0 4px;padding:0;display:grid;gap:7px}
.dbd-list li{display:flex;align-items:center;gap:10px;font-size:.9rem;opacity:0;transform:translateX(-10px);animation:of-slide .5s var(--ease,ease) forwards;animation-delay:calc(.25s + var(--j,0)*90ms)}
.dbd-tick{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(224,168,0,.6);display:grid;place-items:center;font-size:.7rem;flex:none;color:#0A0A0C}
.dbd-tick.on{background:var(--of-ok);border-color:var(--of-ok)}
.dbd-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.dbd-price{display:grid}.dbd-price b{font:400 1.9rem Anton,Impact,sans-serif;color:var(--of-gold2)}
.dbd-price s{color:var(--ash,#9A968E);font-size:.9rem;text-decoration-color:var(--of-hot);text-decoration-thickness:2px}
.dbd-price em{font-style:normal;color:var(--of-ok);font-size:.82rem;font-weight:600}
.dbd-acts{display:flex;gap:8px;flex-wrap:wrap}

/* One bundle */
.dbd-back{margin:0 0 14px}.dbd-back a{color:var(--ash,#9A968E);text-decoration:none}.dbd-back a:hover{color:var(--of-gold2)}
.dbd-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(160deg,#141418,#0d0d10);margin-bottom:22px}
.dbd-hero-img{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.dbd-hero-img img,.dbd-hero-img .dbd-ph{width:100%;height:100%;object-fit:cover}
.dbd-hero-info{display:grid;gap:12px}.dbd-hero-info h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}
.dbd-pricebox{display:grid;gap:10px;padding:16px 18px;border-radius:18px;border:1px solid rgba(224,168,0,.4);background:linear-gradient(135deg,rgba(224,168,0,.13),rgba(255,90,31,.08))}
.dbd-bigprice{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.dbd-bigprice b{font:400 3rem Anton,Impact,sans-serif;color:var(--of-gold2);line-height:1}
.dbd-bigprice s{color:var(--ash,#9A968E);font-size:1.3rem;text-decoration-color:var(--of-hot);text-decoration-thickness:2px}
.dbd-saveline{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.92rem}.dbd-saveline strong{color:var(--of-ok)}
.dbd-meter{position:relative;height:10px;border-radius:99px;background:rgba(242,237,228,.1);margin:6px 0 20px}
.dbd-meter i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--of-gold),var(--of-hot));transition:width 1.4s var(--ease,ease)}
.dbd-meter.go i{width:var(--w)}
.dbd-meter span{position:absolute;top:16px;transform:translateX(-50%);font-size:.72rem;color:var(--of-gold2);white-space:nowrap}
.dbd-buy{width:100%;padding:16px;font-size:1.05rem}
.dbd-owned{padding:14px 16px;border-radius:14px;background:rgba(107,203,119,.12);border:1px solid rgba(107,203,119,.4);color:var(--of-ok)}.dbd-owned a{color:inherit;font-weight:700}
.dbd-panel{padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--graphite,#141418)}
.dbd-courses{display:grid;gap:10px;margin:12px 0 18px}
.dbd-course{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);transition-delay:calc(var(--j,0)*90ms)}
.dbd-course:hover{border-color:rgba(224,168,0,.5)}.dbd-course.owned{border-color:rgba(107,203,119,.4)}
.dbd-course h3{margin:0;font-size:1.2rem}.dbd-num{font:400 1.8rem Anton,Impact,sans-serif;color:rgba(224,168,0,.7)}
.dbd-cprice s{color:var(--ash,#9A968E)}
.dbd-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dbd-sum div{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);display:grid;gap:4px}
.dbd-sum span{font-size:.78rem;color:var(--ash,#9A968E)}.dbd-sum b{font:400 1.5rem Anton,Impact,sans-serif}.dbd-sum .gold{color:var(--of-gold2)}.dbd-sum .green{color:var(--of-ok)}

/* ---------- Admin: coming soon, offers, waiting list ---------- */
.offer-fields{margin:4px 0 8px;padding:16px;border-radius:16px;border:1px dashed rgba(224,168,0,.5);background:rgba(224,168,0,.06)}
.offer-fields-h{display:grid;gap:2px;margin-bottom:12px}.offer-fields-h b{color:var(--of-gold2)}.offer-fields-h span{font-size:.85rem;color:var(--ash,#9A968E)}
.offer-preview{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:44px;padding:8px 12px;border-radius:12px;background:#0d0d10;border:1px solid var(--line);font-size:.88rem;color:var(--ash,#9A968E)}
.offer-preview s{color:var(--ash,#9A968E)}.offer-preview b{color:var(--of-gold2);font-size:1.1rem}.offer-preview em{font-style:normal;color:var(--of-ok);font-weight:600}
.soon-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:6px 0 12px;padding:14px 16px;border-radius:14px;border:1px solid rgba(31,224,196,.4);background:rgba(31,224,196,.08);animation:of-rise .5s var(--ease,ease) both}
.soon-banner b{color:var(--teal,#1FE0C4)}
.wl-stats{margin-bottom:18px}
.wl-card{animation:of-rise .6s var(--ease,ease) both;animation-delay:calc(var(--i,0)*80ms)}
.wl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.wl-top h2{margin:0 0 4px}
.wl-num{text-align:right}.wl-num b{display:block;font:400 2.8rem Anton,Impact,sans-serif;color:var(--teal,#1FE0C4);line-height:1}.wl-num span{font-size:.8rem;color:var(--ash,#9A968E)}
.wl-meter{height:10px;border-radius:99px;background:rgba(242,237,228,.1);overflow:hidden;margin:12px 0 6px}
.wl-meter i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--teal,#1FE0C4),var(--of-gold));animation:of-fill 1.3s var(--ease,ease) .2s forwards}
.wl-note{margin:0 0 12px}

/* ---------- Motion ---------- */
@keyframes of-shine{0%{transform:translateX(-130%)}55%,100%{transform:translateX(130%)}}
@keyframes of-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,90,31,.55)}50%{box-shadow:0 0 0 12px rgba(255,90,31,0)}}
@keyframes of-ping{0%{box-shadow:0 0 0 0 rgba(255,90,31,.7)}100%{box-shadow:0 0 0 9px rgba(255,90,31,0)}}
@keyframes of-ping-teal{0%{box-shadow:0 0 0 0 rgba(31,224,196,.7)}100%{box-shadow:0 0 0 9px rgba(31,224,196,0)}}
@keyframes of-blink{50%{opacity:.45}}
@keyframes of-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes of-pop-in{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@keyframes of-wiggle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg) scale(1.05)}}
@keyframes of-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes of-slide{to{opacity:1;transform:none}}
@keyframes of-float{0%,100%{transform:translateY(0)}50%{transform:translateY(18px)}}
@keyframes of-spin{to{--of-a:360deg}}
@keyframes of-fill{to{width:var(--w)}}

@media(max-width:820px){.dbd-hero{grid-template-columns:1fr;padding:16px}.dbd-sum{grid-template-columns:1fr}.dbd-course{grid-template-columns:auto 1fr}.dbd-cprice{grid-column:1/-1}}
@media(max-width:520px){.dbd-stats{grid-template-columns:1fr}.deal-banner{padding:18px}.dbd-bigprice b{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){
  .offer::after,.btn-hurry::after,.deal-glow,.dcourse.has-offer::before{display:none}
  .offer-pct,.corner-ribbon,.dbd-ribbon,.btn-hurry,.offer-cd i,.wl-dot{animation:none}
  .dcourse,.dbd-card,.dbd-course,.dbd-hero,.dbd-panel,.dbd-list li,.wl-card,.soon-banner,.deal-banner,.dbd-stats div{animation:none;opacity:1;transform:none;transition:none}
  .wl-meter i{animation:none;width:var(--w)}.dbd-meter i{transition:none}
}
.lc-deal{margin:0 0 10px;padding:7px 12px;border-radius:10px;background:rgba(224,168,0,.12);border:1px solid rgba(224,168,0,.4);color:#F7D35C;font-size:.85rem;font-weight:600}.lc-deal s{color:#9A968E;margin-right:6px}

/* Coming-soon bundles (student dashboard) */
.dbd-ribbon.soon{background:#1FE0C4;color:#06201C}
.dbd-pricebox .offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}

/* Clear, accessible savings emphasis across course and bundle pricing */
.offer-save,.bw-saveline,.dbd-saveline,.lc-deal,.price small:has(s){color:#45dc8a;font-weight:650}
.offer-save strong,.bw-saveline strong,.dbd-saveline strong{color:#65f0a1}
.offer-prices s,.bw-prices s,.dbd-bigprice s{opacity:.78}
.offer-fields [data-suggest-orig]{margin-top:8px;white-space:normal}
@media(prefers-reduced-motion:no-preference){.offer-save,.bw-saveline,.dbd-saveline{animation:deboneSavingReveal .35s ease-out both}@keyframes deboneSavingReveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}

/* DEBONE promotional label: beside actual price, without asserting fictitious former prices. */
.debone-value-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;white-space:nowrap;max-width:100%;width:max-content;margin-inline-start:9px;padding:5px 10px;border:1px solid rgba(69,220,138,.48);border-radius:999px;background:linear-gradient(110deg,rgba(20,125,71,.22),rgba(38,190,111,.09));color:#69f3a5;font:700 .69rem/1.2 system-ui,-apple-system,sans-serif;letter-spacing:.01em;box-shadow:0 0 12px rgba(42,188,105,.09)}
.pr-line,.offer-prices,.bw-prices,.dbd-bigprice,.lc-foot,.dbd-price{align-items:center;flex-wrap:wrap}
.dbd-price{display:flex;gap:6px;align-items:center}
.price .debone-value-badge{font-size:.64rem;vertical-align:middle}
@media(prefers-reduced-motion:no-preference){.debone-value-badge{transition:transform .2s ease,box-shadow .2s ease}.debone-value-badge:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(42,188,105,.25)}}
@media(max-width:420px){.debone-value-badge{font-size:.61rem;padding:4px 7px;margin-inline-start:5px}}
/* Illustrative comparison beside the actual price; not a claimed historic discount. */
.debone-price-comparison{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;vertical-align:middle;margin-inline-start:9px;font-family:system-ui,-apple-system,sans-serif;font-size:.76rem;font-weight:500;line-height:1.3}
.debone-price-comparison s{color:#a6abb2;font-size:.85rem;font-weight:600}
.debone-price-comparison .debone-value-badge{margin-inline-start:0}
.debone-price-comparison small{flex-basis:100%;color:#a6abb2;font-size:.62rem;font-weight:400}
@media(max-width:520px){.debone-price-comparison{gap:5px;margin-inline-start:5px}.debone-price-comparison small{font-size:.57rem}}
