/* ════════════════════════════════════════════════════════════════════════════
   Adwix Connect — limited-time plan offer (Diwali 2026, 25% off Professional)
   Self-contained (own tokens, `dw-` namespace) so it works on the public site
   (adwix.css) AND inside the dashboard. Rendered by /assets/offer.js, which also
   removes everything once the offer ends — no markup to clean up afterwards.
   ════════════════════════════════════════════════════════════════════════════ */
:root{
  --dw-night:#1d0b2b; --dw-plum:#3d1037; --dw-maroon:#5a1430;
  --dw-gold:#ffc94d; --dw-gold-2:#f59e0b; --dw-gold-3:#b45309;
  --dw-marigold:#ff7a18; --dw-cream:#fff6e0;
  --dw-gold-grad:linear-gradient(135deg,#ffe08a 0%,#ffc94d 38%,#f59e0b 100%);
  --dw-ease:cubic-bezier(.22,.8,.26,1);
}

/* ── Diya (shared art) ─────────────────────────────────────────────────────── */
.dw-diya{display:block;overflow:visible;}
.dw-diya .dw-flame{transform-box:fill-box;transform-origin:50% 100%;animation:dwFlicker 1.6s ease-in-out infinite;}
.dw-diya .dw-flame-core{transform-box:fill-box;transform-origin:50% 100%;animation:dwFlicker 1.1s ease-in-out infinite reverse;}
.dw-diya .dw-halo{transform-box:fill-box;transform-origin:50% 50%;animation:dwHalo 2.4s ease-in-out infinite;}
@keyframes dwFlicker{
  0%,100%{transform:scale(1,1) skewX(0deg);}
  20%{transform:scale(.94,1.06) skewX(-2deg);}
  45%{transform:scale(1.04,.95) skewX(2.5deg);}
  70%{transform:scale(.97,1.04) skewX(-1.5deg);}
}
@keyframes dwHalo{0%,100%{opacity:.55;transform:scale(1);}50%{opacity:.95;transform:scale(1.12);}}
@keyframes dwTwinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0deg);}50%{opacity:1;transform:scale(1) rotate(45deg);}}
@keyframes dwShimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
@keyframes dwRise{0%{opacity:0;transform:translateY(0) scale(.6);}15%{opacity:1;}100%{opacity:0;transform:translateY(-90px) scale(1);}}
@keyframes dwSpin{to{transform:rotate(360deg);}}
@keyframes dwPopIn{from{opacity:0;transform:translateY(18px) scale(.96);}to{opacity:1;transform:none;}}
@keyframes dwFade{from{opacity:0;}to{opacity:1;}}
@keyframes dwSheet{from{transform:translateY(100%);}to{transform:none;}}
@keyframes dwRing{0%{box-shadow:0 0 0 0 rgba(255,201,77,.55);}70%{box-shadow:0 0 0 10px rgba(255,201,77,0);}100%{box-shadow:0 0 0 0 rgba(255,201,77,0);}}

/* sparkle (4-point star) */
.dw-spark{position:absolute;width:10px;height:10px;pointer-events:none;
  background:radial-gradient(circle,#fff 0 18%,transparent 19%),conic-gradient(from 45deg,transparent 0 22%,var(--dw-gold) 23% 27%,transparent 28% 47%,var(--dw-gold) 48% 52%,transparent 53% 72%,var(--dw-gold) 73% 77%,transparent 78% 97%,var(--dw-gold) 98%);
  -webkit-mask:radial-gradient(circle,#000 0 60%,transparent 62%);mask:radial-gradient(circle,#000 0 60%,transparent 62%);
  animation:dwTwinkle 2.6s ease-in-out infinite;opacity:0;}

/* ── Logo: diya perched on the mark + glow + twinkles ──────────────────────── */
.nav__logo.dw-logo{position:relative;}
.dw-logo .nav__mark{position:relative;z-index:1;animation:dwRing 2.8s ease-out infinite;border-radius:11px;}
.dw-logo__fx{position:absolute;left:0;top:50%;width:34px;height:34px;transform:translateY(-50%);pointer-events:none;z-index:2;}
.dw-logo>.dw-logo__glow{position:absolute;left:-10px;top:50%;width:54px;height:54px;margin-top:-27px;border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(255,190,60,.42),rgba(255,140,30,.14) 45%,transparent 70%);animation:dwHalo 2.6s ease-in-out infinite;}
.dw-logo__diya{position:absolute;right:-10px;top:-13px;width:20px;height:22px;filter:drop-shadow(0 2px 3px rgba(120,40,0,.35));
  animation:dwBob 3.2s ease-in-out infinite;}
@keyframes dwBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-1.5px);}}
.dw-logo__fx .dw-spark:nth-child(2){left:-7px;top:-5px;animation-delay:.2s;}
.dw-logo__fx .dw-spark:nth-child(3){left:-4px;bottom:-6px;width:7px;height:7px;animation-delay:1.1s;}
.dw-logo__fx .dw-spark:nth-child(4){right:-9px;bottom:-3px;width:8px;height:8px;animation-delay:1.8s;}
/* one-time light-up burst when the page opens */
.dw-logo__burst{position:absolute;inset:-4px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,214,110,.75),transparent 62%);opacity:0;animation:dwBurst 1.4s var(--dw-ease) .35s 1 both;}
@keyframes dwBurst{0%{opacity:0;transform:scale(.4);}35%{opacity:1;}100%{opacity:0;transform:scale(2.4);}}
.footer .dw-logo__fx,.footer .dw-logo__glow{display:none;}

/* ── Top strip ─────────────────────────────────────────────────────────────── */
.dw-strip{position:relative;z-index:101;overflow:hidden;color:#fff;
  background:linear-gradient(90deg,var(--dw-night) 0%,var(--dw-maroon) 50%,var(--dw-night) 100%);
  border-bottom:1px solid rgba(255,201,77,.28);font-family:inherit;}
.dw-strip::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background:linear-gradient(100deg,transparent 30%,rgba(255,214,120,.22) 50%,transparent 70%);background-size:200% 100%;animation:dwShimmer 6s linear infinite;}
.dw-strip__in{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;
  max-width:1200px;margin:0 auto;padding:9px 46px 9px 16px;font-size:13.5px;line-height:1.35;}
.dw-strip__diya{width:22px;height:24px;flex-shrink:0;margin-top:-4px;}
.dw-strip__txt b{color:var(--dw-gold);font-weight:800;}
.dw-strip__txt s{opacity:.6;}
.dw-strip__cd{font-variant-numeric:tabular-nums;font-weight:700;color:var(--dw-cream);background:rgba(255,255,255,.1);
  border:1px solid rgba(255,201,77,.3);border-radius:999px;padding:3px 10px;font-size:12.5px;white-space:nowrap;}
.dw-strip__cta{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;background:var(--dw-gold-grad);color:#3a1604;
  font-weight:800;font-size:12.5px;padding:6px 14px;border-radius:999px;text-decoration:none;white-space:nowrap;
  box-shadow:0 4px 14px -4px rgba(245,158,11,.7);transition:transform .2s var(--dw-ease),box-shadow .2s;}
.dw-strip__cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(245,158,11,.9);}
.dw-strip__x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;
  background:transparent;color:rgba(255,255,255,.7);font-size:18px;line-height:1;cursor:pointer;}
.dw-strip__x:hover{background:rgba(255,255,255,.12);color:#fff;}
.dw-strip .dw-spark{top:8px;}
.dw-strip .dw-spark:nth-of-type(1){left:6%;animation-delay:.3s;}
.dw-strip .dw-spark:nth-of-type(2){left:31%;top:24px;width:7px;height:7px;animation-delay:1.4s;}
.dw-strip .dw-spark:nth-of-type(3){right:24%;animation-delay:2.1s;}
.dw-strip .dw-spark:nth-of-type(4){right:5%;top:22px;width:8px;height:8px;animation-delay:.9s;}
.dw-short{display:none;}
@media(max-width:760px){
  .dw-strip__in{gap:10px;padding:8px 40px 8px 12px;font-size:12.5px;justify-content:flex-start;}
  .dw-strip__cd{display:none;}
  .dw-long{display:none;}.dw-short{display:inline;}
  .dw-strip__cta{padding:6px 11px;font-size:12px;margin-left:auto;}
}
@media(max-width:360px){.dw-strip__diya{display:none;}}

/* ── Popup ─────────────────────────────────────────────────────────────────── */
.dw-pop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(14,6,20,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:dwFade .3s ease both;font-family:inherit;}
.dw-pop.is-out{animation:dwFade .22s ease reverse both;}
.dw-pop__card{position:relative;width:100%;max-width:430px;max-height:calc(100vh / var(--z,1) - 32px);overflow:auto;
  border-radius:24px;color:#fff;text-align:center;padding:0 26px 22px;
  background:radial-gradient(120% 70% at 50% 0%,#5b1840 0%,var(--dw-plum) 38%,var(--dw-night) 100%);
  border:1px solid rgba(255,201,77,.35);box-shadow:0 30px 80px -20px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.04) inset;
  animation:dwPopIn .5s var(--dw-ease) both;scrollbar-width:none;}
.dw-pop__card::-webkit-scrollbar{display:none;}
.dw-pop__card:focus{outline:none;}
.dw-pop__x{position:absolute;right:12px;top:12px;z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);color:#fff;font-size:20px;line-height:1;cursor:pointer;}
.dw-pop__x:hover{background:rgba(255,255,255,.18);}
.dw-pop__art{position:relative;height:150px;margin:0 -26px 4px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.dw-pop__rangoli{position:absolute;left:50%;top:50%;width:250px;height:250px;margin:-112px 0 0 -125px;opacity:.5;animation:dwSpin 60s linear infinite;}
.dw-pop__diya{position:relative;z-index:2;width:104px;height:112px;margin-bottom:6px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));}
.dw-pop__ember{position:absolute;bottom:56px;width:4px;height:4px;border-radius:50%;background:var(--dw-gold);
  box-shadow:0 0 8px 2px rgba(255,190,60,.8);animation:dwRise 3.4s ease-out infinite;opacity:0;}
.dw-pop__art .dw-spark{z-index:1;}
.dw-pop__eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dw-gold);background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.3);padding:5px 12px;border-radius:999px;}
.dw-pop__h{margin:12px 0 4px;font-size:clamp(1.65rem,6vw,2rem);line-height:1.1;font-weight:800;letter-spacing:-.02em;color:#fff;}
.dw-pop__h em{font-style:normal;background:var(--dw-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.dw-pop__plan{font-size:14px;color:rgba(255,246,224,.78);margin:0;}
.dw-pop__price{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:14px 0 2px;flex-wrap:wrap;}
.dw-pop__price s{font-size:1.15rem;font-weight:700;color:rgba(255,255,255,.5);}
.dw-pop__price b{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1;}
.dw-pop__price span{font-size:14px;font-weight:700;color:var(--dw-cream);}
.dw-pop__then{font-size:12.5px;color:rgba(255,246,224,.66);margin:0 0 14px;}
.dw-cd{display:flex;justify-content:center;gap:8px;margin:0 0 16px;}
.dw-cd__u{min-width:58px;padding:8px 4px 6px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,201,77,.22);}
.dw-cd__u b{display:block;font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:#fff;line-height:1.1;}
.dw-cd__u i{display:block;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,246,224,.6);margin-top:2px;}
.dw-pop__cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 18px;border:0;border-radius:999px;
  background:var(--dw-gold-grad);color:#3a1604;font-family:inherit;font-weight:800;font-size:15.5px;cursor:pointer;text-decoration:none;
  box-shadow:0 12px 28px -10px rgba(245,158,11,.85);transition:transform .2s var(--dw-ease),box-shadow .2s;}
.dw-pop__cta:focus:not(:focus-visible){outline:none;}
.dw-pop__cta::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%);
  background-size:200% 100%;animation:dwShimmer 3.2s linear infinite;}
.dw-pop__cta:hover{transform:translateY(-2px);box-shadow:0 16px 34px -10px rgba(245,158,11,.95);}
.dw-pop__later{display:inline-block;margin-top:10px;background:none;border:0;color:rgba(255,246,224,.7);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:6px 10px;}
.dw-pop__later:hover{color:#fff;}
.dw-pop__fine{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:rgba(255,246,224,.5);}
@media(max-width:560px){
  .dw-pop{align-items:flex-end;padding:0;}
  .dw-pop__card{max-width:none;border-radius:22px 22px 0 0;max-height:92vh;padding:0 18px calc(18px + env(safe-area-inset-bottom,0px));
    animation:dwSheet .42s var(--dw-ease) both;border-bottom:0;}
  .dw-pop__art{height:122px;margin:0 -18px 2px;}
  .dw-pop__diya{width:84px;height:92px;}
  .dw-pop__price b{font-size:2.2rem;}
  .dw-cd__u{min-width:0;flex:1;}
}

/* ── Offer price card (Professional) ───────────────────────────────────────── */
.dw-card{border-color:var(--dw-gold-2) !important;
  box-shadow:0 0 0 1px rgba(245,158,11,.35),0 22px 50px -22px rgba(245,158,11,.6) !important;}
.price--featured.dw-card::before{content:"🪔 Diwali Offer · 25% OFF";background:var(--dw-gold-grad);color:#3a1604;}
.dw-card .dw-card__ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;
  background:var(--dw-gold-grad) !important;color:#3a1604 !important;font-size:11.5px;font-weight:800;letter-spacing:.03em;padding:5px 14px;border-radius:999px;
  box-shadow:0 6px 16px -6px rgba(180,83,9,.6);}
.dw-amt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;}
.dw-amt s{font-size:1.05rem;font-weight:700;color:#9a8f86;text-decoration-thickness:2px;text-decoration-color:rgba(220,38,38,.7);}
.dw-amt b{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;color:var(--heading,#111827);line-height:1;}
.dw-amt span{font-weight:700;color:#7c4a03;font-size:.9rem;}
.dw-amt__save{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.04em;color:#7c2d12;background:#fff1d6;
  border:1px solid #fcd58a;padding:3px 9px;border-radius:999px;}
.dw-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 12px;font-size:12.5px;font-weight:600;color:#7c4a03;}
.dw-note__cd{font-variant-numeric:tabular-nums;font-weight:800;color:#b45309;}

/* Banner used inside app pages (select-plan, dashboard billing) */
.dw-banner{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;color:#fff;
  background:linear-gradient(110deg,var(--dw-night) 0%,var(--dw-maroon) 60%,#7a2a12 100%);border:1px solid rgba(255,201,77,.35);
  box-shadow:0 14px 34px -18px rgba(90,20,48,.7);text-align:left;}
.dw-banner::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:linear-gradient(100deg,transparent 30%,rgba(255,214,120,.22) 50%,transparent 70%);background-size:200% 100%;animation:dwShimmer 6s linear infinite;}
.dw-banner__diya{position:relative;width:40px;height:44px;flex-shrink:0;}
.dw-banner__txt{position:relative;flex:1;min-width:0;}
.dw-banner__t{font-size:15px;font-weight:800;color:#fff;line-height:1.25;}
.dw-banner__t b{color:var(--dw-gold);}
.dw-banner__s{font-size:12.5px;color:rgba(255,246,224,.75);margin-top:2px;}
.dw-banner__cd{position:relative;flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:800;font-size:12.5px;color:var(--dw-cream);
  background:rgba(255,255,255,.1);border:1px solid rgba(255,201,77,.3);border-radius:999px;padding:5px 11px;white-space:nowrap;}
@media(max-width:560px){.dw-banner{padding:12px 14px;gap:11px;}.dw-banner__diya{width:32px;height:36px;}.dw-banner__cd{display:none;}}

/* Checkout summary discount row */
.dw-sum-off{color:#b45309 !important;font-weight:800 !important;}
.summary-value.dw-sum-off{white-space:nowrap;}

@media (prefers-reduced-motion:reduce){
  .dw-diya .dw-flame,.dw-diya .dw-flame-core,.dw-diya .dw-halo,.dw-spark,.dw-strip::before,.dw-banner::before,.dw-pop__rangoli,
  .dw-pop__ember,.dw-pop__cta::after,.dw-logo .nav__mark,.dw-logo__glow,.dw-logo__diya,.dw-logo__burst{animation:none !important;}
  .dw-spark{opacity:.8;}
  .dw-pop__ember,.dw-logo__burst{display:none;}
}

/* Banner as an action (dashboard billing): whole card taps through to checkout */
.dw-banner--action{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;}
.dw-banner--action:hover{transform:translateY(-1px);}
.dw-banner__cta{position:relative;flex-shrink:0;background:var(--dw-gold,#fbbf24);color:#2a1205;border:0;border-radius:100px;padding:9px 16px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;}
.dw-banner__cta:hover{filter:brightness(1.05);}
@media(max-width:560px){.dw-banner--action{flex-wrap:wrap;}.dw-banner__cta{flex:1 1 100%;margin-top:4px;padding:10px 16px;}}
