/* ============================================================
   NextyHost — Diwali Mega Sale (standalone, isolated styles)
   ============================================================ */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.dw-body {
  background: #070512;
  color: #f5ecd9;
  font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  overflow-x: hidden;
  min-height: 100vh;
  position: relative;
}

/* ---------- Night sky + clouds ---------- */
.dw-sky {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(1200px 700px at 78% -12%, rgba(120, 70, 220, .34), transparent 62%),
    radial-gradient(1000px 620px at 12% -8%, rgba(255, 150, 40, .16), transparent 60%),
    radial-gradient(1400px 800px at 50% 118%, rgba(180, 90, 20, .18), transparent 64%),
    linear-gradient(180deg, #0b0722 0%, #140b2e 32%, #241041 62%, #3a1a3f 82%, #57232b 100%);
}
.dw-cloud {
  position: fixed; z-index: 1; pointer-events: none; filter: blur(26px); opacity: .5;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255, 190, 120, .18), transparent 70%);
  animation: dwCloudDrift linear infinite;
}
.dw-cloud.c1 { width: 46vw; height: 16vw; top: 6%; left: -12%; animation-duration: 68s; }
.dw-cloud.c2 { width: 38vw; height: 13vw; top: 15%; left: 55%; animation-duration: 92s; opacity: .36; }
.dw-cloud.c3 { width: 52vw; height: 17vw; top: 26%; left: 18%; animation-duration: 110s; opacity: .28; }
@keyframes dwCloudDrift {
  from { transform: translateX(-6vw); }
  50%  { transform: translateX(6vw); }
  to   { transform: translateX(-6vw); }
}

/* fixed canvas: stars + fireworks + golden dust */
#dwFx { position: fixed; inset: 0; z-index: 2; pointer-events: none; }

/* ---------- Top bar (standalone) ---------- */
.dw-nav {
  position: relative; z-index: 40;
  display: flex; align-items: center; gap: 1rem;
  padding: 1.05rem 5%;
}
.dw-nav a.dw-brand {
  display: flex; align-items: center; gap: .62rem;
  text-decoration: none; color: #fff2d4; font-weight: 800; font-size: 1.06rem; letter-spacing: -.01em;
}
.dw-nav img { height: 38px; width: auto; display: block; }
.dw-nav .dw-nav-cta {
  margin-left: auto;
  padding: .62rem 1.35rem; border-radius: 999px; text-decoration: none;
  font-size: .86rem; font-weight: 800; color: #3a1c00;
  background: linear-gradient(135deg, #ffd76e, #ff9d2e);
  box-shadow: 0 10px 28px -10px rgba(255, 170, 60, .75);
  transition: transform .2s, box-shadow .2s;
}
.dw-nav .dw-nav-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -10px rgba(255, 170, 60, .9); }

/* ---------- Hero ---------- */
.dw-hero {
  position: relative; z-index: 10;
  max-width: 1220px; margin: 0 auto;
  padding: 1.2rem 5% 3.2rem;
  text-align: center;
}
.dw-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
  color: #ffd98a; background: rgba(255, 180, 70, .12);
  border: 1px solid rgba(255, 190, 90, .4); border-radius: 999px;
  padding: .5rem 1.15rem; margin-bottom: 1.35rem;
}
.dw-pill i {
  width: 7px; height: 7px; border-radius: 50%; background: #ffb84d;
  box-shadow: 0 0 10px 2px rgba(255, 184, 77, .9);
  animation: dwPulseDot 1.8s ease-in-out infinite;
}
@keyframes dwPulseDot { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.8); } }

.dw-title {
  font-size: clamp(1.85rem, 4.6vw, 3.05rem); font-weight: 900; letter-spacing: -.022em;
  color: #fff6e2; margin: 0 0 1.15rem; line-height: 1.12;
}
.dw-title .gold {
  background: linear-gradient(115deg, #ffe9a8, #ffc75e 40%, #ff9c33 70%, #ffe9a8);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: dwShine 5.5s linear infinite;
}
@keyframes dwShine { from { background-position: 200% 0; } to { background-position: -200% 0; } }

/* giant offer */
.dw-offer {
  position: relative; display: inline-block;
  margin: .35rem 0 1.05rem;
  font-size: clamp(4.2rem, 15vw, 10.5rem);
  font-weight: 900; letter-spacing: -.035em; line-height: .95;
  background: linear-gradient(180deg, #fff3c9 4%, #ffd463 34%, #ff9d2b 66%, #ff7a18 92%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 26px rgba(255, 170, 60, .55)) drop-shadow(0 14px 42px rgba(255, 130, 30, .45));
  animation: dwOfferGlow 3.4s ease-in-out infinite, dwOfferIn 1.15s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes dwOfferIn {
  from { opacity: 0; transform: translateY(46px) scale(.86); letter-spacing: .04em; }
  to   { opacity: 1; transform: none; letter-spacing: -.035em; }
}
@keyframes dwOfferGlow {
  0%,100% { filter: drop-shadow(0 0 22px rgba(255, 170, 60, .5)) drop-shadow(0 12px 38px rgba(255, 130, 30, .4)); }
  50%     { filter: drop-shadow(0 0 44px rgba(255, 200, 110, .8)) drop-shadow(0 18px 58px rgba(255, 150, 40, .6)); }
}
.dw-offer .off-tag {
  position: absolute; top: -12%; right: -13%;
  font-size: clamp(.95rem, 2.4vw, 1.55rem); font-weight: 900; letter-spacing: .04em;
  color: #4a1c00; background: linear-gradient(135deg, #ffe28a, #ffb14d);
  padding: .55rem 1.15rem; border-radius: 999px; transform: rotate(9deg);
  box-shadow: 0 12px 30px -8px rgba(255, 180, 70, .8);
  -webkit-background-clip: initial; background-clip: initial;
  animation: dwTagWiggle 3.2s ease-in-out infinite;
}
@keyframes dwTagWiggle {
  0%,100% { transform: rotate(9deg) scale(1); }
  50%     { transform: rotate(5deg) scale(1.06); }
}

.dw-sub {
  font-size: clamp(1.02rem, 2.2vw, 1.35rem); font-weight: 700; color: #ffd9a0;
  margin: 0 0 1.25rem; letter-spacing: .01em;
}
.dw-start {
  display: inline-flex; align-items: center; gap: .65rem;
  font-size: clamp(.95rem, 2vw, 1.18rem); font-weight: 800; color: #fff1cf;
  background: rgba(255, 170, 60, .12); border: 1px solid rgba(255, 190, 90, .42);
  padding: .82rem 1.65rem; border-radius: 999px; margin-bottom: 1.75rem;
}
.dw-start b {
  font-size: clamp(1.25rem, 2.6vw, 1.72rem);
  background: linear-gradient(120deg, #fff3c9, #ffb14d);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dw-start .rupee { font-size: clamp(1.25rem, 2.6vw, 1.72rem); }

.dw-hero-cta { display: flex; gap: .95rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2.15rem; }
.dw-btn {
  display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; cursor: pointer;
  padding: 1.02rem 2.25rem; border-radius: 999px; font-size: 1.02rem; font-weight: 900; letter-spacing: .01em;
  border: 1px solid transparent; transition: transform .22s, box-shadow .22s, background .22s;
  font-family: inherit;
}
.dw-btn-fire {
  color: #4a1c00; background: linear-gradient(135deg, #ffd76e, #ff9d2e);
  box-shadow: 0 16px 42px -12px rgba(255, 170, 60, .85), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.dw-btn-fire:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 26px 56px -12px rgba(255, 170, 60, 1); }
.dw-btn-ghost {
  color: #ffe9bd; background: rgba(255, 190, 90, .09); border-color: rgba(255, 190, 90, .42);
}
.dw-btn-ghost:hover { transform: translateY(-3px); background: rgba(255, 190, 90, .17); }

/* ---------- Countdown ---------- */
.dw-count {
  display: inline-flex; gap: .85rem; flex-wrap: wrap; justify-content: center;
}
.dw-cbox {
  min-width: 92px; padding: .95rem .85rem .82rem; border-radius: 18px;
  background: rgba(20, 10, 45, .55); border: 1px solid rgba(255, 190, 100, .28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 18px 40px -22px rgba(0, 0, 0, .8);
  backdrop-filter: blur(10px);
}
.dw-cbox b {
  display: block; font-size: clamp(1.55rem, 3.6vw, 2.15rem); font-weight: 900; letter-spacing: -.02em;
  background: linear-gradient(180deg, #fff2cd, #ffb14d);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  font-variant-numeric: tabular-nums;
}
.dw-cbox span {
  font-size: .66rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #c9a26b;
}

/* ---------- Decorative scene (SVG city) ---------- */
.dw-scene {
  position: relative; z-index: 5;
  width: 100%; margin: 0 auto; overflow: hidden; line-height: 0;
}
.dw-scene svg { width: 100%; height: auto; display: block; }

/* scene part animations (targets inside inline svg) */
.dw-win { animation: dwWinGlow 3.6s ease-in-out infinite; transform-origin: center; }
@keyframes dwWinGlow {
  0%,100% { opacity: .95; }
  50%     { opacity: .58; }
}
.dw-bulb { animation: dwBulbOn 2.8s ease-in-out infinite; transform-origin: center; }
@keyframes dwBulbOn {
  0%,100% { opacity: 1; }
  60%     { opacity: .55; }
}
.dw-flame {
  transform-box: fill-box; transform-origin: 50% 100%;
  animation: dwFlicker .9s ease-in-out infinite alternate;
}
@keyframes dwFlicker {
  from { transform: scale(1) rotate(-2deg); opacity: 1; }
  to   { transform: scale(1.12, 1.22) rotate(2.5deg); opacity: .82; }
}
.dw-flame-glow { animation: dwFlameGlow 1.6s ease-in-out infinite; }
@keyframes dwFlameGlow {
  0%,100% { opacity: .55; }
  50%     { opacity: 1; }
}
.dw-lantern {
  transform-box: fill-box; transform-origin: 50% -30%;
  animation: dwSwing 4.4s ease-in-out infinite alternate;
}
@keyframes dwSwing {
  from { transform: rotate(-4.5deg); }
  to   { transform: rotate(4.5deg); }
}
.dw-rangoli { animation: dwSpinSlow 60s linear infinite; transform-origin: center; }
@keyframes dwSpinSlow { to { transform: rotate(360deg); } }

/* ---------- Sections shared ---------- */
.dw-sec { position: relative; z-index: 10; max-width: 1180px; margin: 0 auto; padding: 3.6rem 5%; }
.dw-sec-head { text-align: center; margin-bottom: 2.45rem; }
.dw-sec-head h2 {
  font-size: clamp(1.72rem, 3.9vw, 2.55rem); font-weight: 900; letter-spacing: -.022em; color: #fff3d6;
  margin: 0 0 .72rem;
}
.dw-sec-head h2 .gold {
  background: linear-gradient(115deg, #ffe9a8, #ffc75e 45%, #ff9c33);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dw-sec-head p { color: #cbb08a; font-size: 1.02rem; line-height: 1.7; max-width: 640px; margin: 0 auto; }

/* ---------- Pricing cards ---------- */
.dw-plans {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(272px, 1fr));
  gap: 1.35rem;
}
.dw-card {
  position: relative; overflow: hidden;
  padding: 1.85rem 1.65rem 1.75rem; border-radius: 22px;
  background: linear-gradient(165deg, rgba(255, 208, 130, .1), rgba(30, 14, 58, .55));
  border: 1px solid rgba(255, 190, 110, .26);
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .1);
  backdrop-filter: blur(14px);
  transition: transform .28s cubic-bezier(.16, 1, .3, 1), border-color .28s, box-shadow .28s;
}
.dw-card::before {
  content: ''; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none;
  background: radial-gradient(320px 160px at 80% -10%, rgba(255, 200, 110, .22), transparent 70%);
}
.dw-card:hover {
  transform: translateY(-9px);
  border-color: rgba(255, 200, 120, .6);
  box-shadow: 0 44px 90px -32px rgba(255, 150, 40, .35), inset 0 1px 0 rgba(255, 255, 255, .16);
}
.dw-card.hot {
  border-color: rgba(255, 200, 120, .62);
  background: linear-gradient(165deg, rgba(255, 180, 80, .18), rgba(46, 18, 66, .6));
}
.dw-card-tag {
  position: absolute; top: 1.15rem; right: -2.4rem;
  font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase;
  color: #4a1c00; background: linear-gradient(135deg, #ffe28a, #ffab45);
  padding: .38rem 2.9rem; transform: rotate(38deg);
}
.dw-card-cat {
  font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase;
  color: #d9b382; margin-bottom: .55rem;
}
.dw-card h3 { font-size: 1.22rem; font-weight: 900; color: #fff3d6; letter-spacing: -.012em; margin: 0 0 .95rem; }
.dw-price-row { display: flex; align-items: baseline; gap: .72rem; margin-bottom: .35rem; }
.dw-price-old { font-size: 1.06rem; color: #a98b62; text-decoration: line-through; font-weight: 700; }
.dw-price-new {
  font-size: 2.18rem; font-weight: 900; letter-spacing: -.025em;
  background: linear-gradient(120deg, #fff3c9, #ffb14d 65%, #ff8a2b);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dw-price-cycle { font-size: .8rem; color: #b08f63; font-weight: 700; margin-bottom: 1.05rem; }
.dw-save {
  display: inline-block; font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase;
  color: #2c5e12; background: linear-gradient(135deg, #b6f36b, #6fe07c);
  border-radius: 999px; padding: .3rem .85rem; margin-bottom: 1.15rem;
  box-shadow: 0 10px 24px -10px rgba(110, 224, 124, .55);
}
.dw-card ul { list-style: none; margin: 0 0 1.45rem; }
.dw-card ul li {
  display: flex; align-items: flex-start; gap: .55rem;
  font-size: .845rem; color: #e2c79c; line-height: 1.55; padding: .3rem 0;
}
.dw-card ul li svg { flex-shrink: 0; margin-top: 2px; }
.dw-card .dw-btn { width: 100%; justify-content: center; padding: .92rem 1.2rem; font-size: .95rem; }
.dw-card .dw-btn.fire2 {
  color: #fff3d6; background: rgba(255, 180, 80, .12); border-color: rgba(255, 190, 110, .4);
}
.dw-card .dw-btn.fire2:hover { background: rgba(255, 180, 80, .22); transform: translateY(-2px); }

/* ---------- Features ---------- */
.dw-feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(252px, 1fr)); gap: 1.15rem; }
.dw-feat {
  padding: 1.65rem 1.55rem; border-radius: 20px;
  background: rgba(255, 196, 120, .07); border: 1px solid rgba(255, 190, 110, .2);
  transition: transform .25s, border-color .25s, background .25s;
}
.dw-feat:hover { transform: translateY(-5px); border-color: rgba(255, 200, 120, .5); background: rgba(255, 196, 120, .12); }
.dw-feat .ic {
  width: 52px; height: 52px; border-radius: 15px; display: flex; align-items: center; justify-content: center;
  margin-bottom: .95rem; color: #ffcf8e;
  background: linear-gradient(160deg, rgba(255, 190, 90, .18), rgba(255, 140, 50, .08));
  border: 1px solid rgba(255, 190, 110, .3);
}
.dw-feat h3 { font-size: 1.045rem; font-weight: 800; color: #fff0d0; margin: 0 0 .5rem; }
.dw-feat p { font-size: .865rem; line-height: 1.7; color: #c7a97e; margin: 0; }

/* ---------- FAQ ---------- */
.dw-faq { max-width: 820px; margin: 0 auto; }
.dw-q {
  border-radius: 18px; margin-bottom: .95rem; overflow: hidden;
  background: rgba(255, 196, 120, .07); border: 1px solid rgba(255, 190, 110, .22);
  transition: border-color .25s;
}
.dw-q:hover { border-color: rgba(255, 200, 120, .5); }
.dw-q button {
  width: 100%; display: flex; align-items: center; gap: .85rem;
  background: none; border: none; cursor: pointer; text-align: left;
  padding: 1.25rem 1.45rem; font-family: inherit;
  font-size: 1.02rem; font-weight: 800; color: #ffedd0;
}
.dw-q button .chev {
  margin-left: auto; transition: transform .3s; color: #e0b57a; flex-shrink: 0;
}
.dw-q.open button .chev { transform: rotate(180deg); }
.dw-a {
  max-height: 0; overflow: hidden; transition: max-height .38s ease;
}
.dw-a p { padding: 0 1.45rem 1.35rem; color: #cbb08a; font-size: .925rem; line-height: 1.8; margin: 0; }

/* ---------- Final CTA ---------- */
.dw-final {
  position: relative; overflow: hidden; text-align: center;
  margin: 1.2rem auto 4.2rem; max-width: 1180px;
  padding: 4.15rem 5% 4.35rem; border-radius: 32px;
  background:
    radial-gradient(700px 320px at 20% -10%, rgba(255, 160, 60, .3), transparent 62%),
    radial-gradient(640px 300px at 85% 115%, rgba(255, 110, 30, .26), transparent 60%),
    linear-gradient(150deg, rgba(60, 22, 66, .82), rgba(28, 12, 46, .92));
  border: 1px solid rgba(255, 190, 110, .32);
  box-shadow: 0 50px 110px -42px rgba(255, 130, 30, .4);
}
.dw-final h2 {
  font-size: clamp(1.85rem, 4.4vw, 2.85rem); font-weight: 900; letter-spacing: -.022em;
  color: #fff3d6; margin: 0 0 .85rem; line-height: 1.16;
}
.dw-final p { color: #e4c493; font-size: 1.06rem; line-height: 1.75; max-width: 560px; margin: 0 auto 1.85rem; }
.dw-final .dw-btn-fire { font-size: 1.1rem; padding: 1.12rem 2.75rem; }
.dw-final .dw-mini { margin-top: 1.25rem; font-size: .82rem; color: #c09a6a; }

/* ---------- Footer (standalone, minimal) ---------- */
.dw-foot {
  position: relative; z-index: 10;
  border-top: 1px solid rgba(255, 190, 110, .18);
  padding: 1.85rem 5% 2.25rem; text-align: center;
  color: #9c7c55; font-size: .825rem;
}
.dw-foot a { color: #d9b382; text-decoration: none; margin: 0 .55rem; }
.dw-foot a:hover { color: #ffcf8e; }

/* ---------- Entrance animation utility ---------- */
.dw-reveal { opacity: 0; transform: translateY(34px); transition: opacity .85s cubic-bezier(.16, 1, .3, 1), transform .85s cubic-bezier(.16, 1, .3, 1); }
.dw-reveal.in { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .dw-offer .off-tag { right: -4%; top: -22%; }
  .dw-cbox { min-width: 74px; }
}
@media (max-width: 640px) {
  .dw-nav { padding: .85rem 5%; }
  .dw-nav img { height: 32px; }
  .dw-nav .dw-nav-cta { padding: .55rem 1.05rem; font-size: .8rem; }
  .dw-hero { padding: .65rem 5% 2.35rem; }
  .dw-offer { font-size: clamp(3.6rem, 21vw, 6.2rem); }
  .dw-offer .off-tag { font-size: .82rem; padding: .42rem .9rem; top: -16%; right: -2%; }
  .dw-hero-cta .dw-btn { width: 100%; justify-content: center; }
  .dw-count { gap: .55rem; }
  .dw-cbox { min-width: 0; flex: 1; padding: .78rem .5rem .68rem; }
  .dw-sec { padding: 2.6rem 5%; }
  .dw-card { padding: 1.55rem 1.35rem 1.5rem; }
  .dw-final { border-radius: 22px; padding: 2.85rem 6% 3rem; }
  .dw-scene svg { min-height: 190px; object-fit: cover; }
}

/* ---------- Reduced motion / low-end friendliness ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .dw-cloud, .dw-win, .dw-bulb, .dw-flame, .dw-flame-glow, .dw-lantern, .dw-rangoli,
  .dw-offer, .dw-offer .off-tag, .dw-pill i, .dw-title .gold {
    animation: none !important;
  }
  .dw-reveal { opacity: 1; transform: none; transition: none; }
  .dw-card:hover, .dw-feat:hover, .dw-btn:hover { transform: none; }
}

