:root{
  --dsc-red:#FF0033;
  --dsc-red-dark:#cc0029;
  --dsc-black:#0F0F0F;
  --dsc-white:#FFFFFF;
  --dsc-light:#F5F5F5;
  --dsc-gray:#222222;
}
*{ -webkit-font-smoothing:antialiased; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Devanagari",Arial,sans-serif;
  color:var(--dsc-gray);
  background:var(--dsc-white);
}
a{ color:var(--dsc-red); text-decoration:none; }
a:hover{ color:var(--dsc-red-dark); }

/* Buttons */
.btn-dsc-red{ background:var(--dsc-red); border-color:var(--dsc-red); color:#fff; font-weight:600; }
.btn-dsc-red:hover,.btn-dsc-red:focus{ background:var(--dsc-red-dark); border-color:var(--dsc-red-dark); color:#fff; }
.dsc-price{ color:var(--dsc-red); font-weight:800; }

/* Nav */
.dsc-nav{ background:var(--dsc-black); }
.dsc-logo{ color:#fff !important; font-weight:800; letter-spacing:.2px; display:flex; align-items:center; gap:.5rem; }
.dsc-logo-mark{
  background:var(--dsc-red); color:#fff; font-weight:800; font-size:.8rem;
  padding:.25rem .5rem; border-radius:.35rem; letter-spacing:.5px;
}
.dsc-logo-mark-lg{ font-size:1.4rem; padding:.5rem .9rem; display:inline-block; }
.dsc-nav .nav-link{ color:#e9e9e9; }
.dsc-nav .nav-link:hover{ color:#fff; }

/* Hero */
.dsc-hero{
  background:
    radial-gradient(1200px 400px at 80% -10%, rgba(255,0,51,.28), transparent 60%),
    linear-gradient(135deg,#0F0F0F 0%, #1b1b1b 100%);
}
.dsc-badge{ background:rgba(255,0,51,.15); color:var(--dsc-red); border:1px solid rgba(255,0,51,.35); font-weight:600; }
.dsc-hero-card{
  background:#181818; border:1px solid #2a2a2a; border-radius:1rem; padding:1.25rem;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.dsc-hero-row{ color:#eee; padding:.65rem 0; border-bottom:1px solid #2a2a2a; display:flex; gap:.75rem; align-items:center; }
.dsc-hero-row:last-child{ border-bottom:0; }

/* Premium SVG icon badge (used in the hero card rows) */
.dsc-ico{ width:38px; height:38px; flex:0 0 38px; border-radius:50%;
  background:rgba(255,0,51,.14); border:1px solid rgba(255,0,51,.32);
  display:inline-flex; align-items:center; justify-content:center; color:#FF0033; }
.dsc-ico svg{ width:19px; height:19px; display:block; }

/* Product cards */
.dsc-product{ border:1px solid #ececec; border-radius:1rem; box-shadow:0 6px 20px rgba(15,15,15,.05); transition:.18s; }
.dsc-product:hover{ box-shadow:0 14px 34px rgba(255,0,51,.12); transform:translateY(-3px); border-color:#ffd0d9; }
.dsc-card{ border:1px solid #ececec; border-radius:1rem; }
.dsc-content{ line-height:1.75; }

/* Tools */
.dsc-tools{ background:var(--dsc-black); }
.dsc-tool{ border:0; border-radius:1rem; }
.dsc-step{ background:var(--dsc-light); border-radius:1rem; padding:1.5rem; }
.dsc-step-num{ width:44px;height:44px;line-height:44px;border-radius:50%;background:var(--dsc-red);color:#fff;font-weight:800;margin:0 auto; }

/* CTA */
.dsc-cta{ background:linear-gradient(135deg,var(--dsc-red) 0%, #b30024 100%); }

/* Footer */
.dsc-footer{ background:var(--dsc-black); color:#d9d9d9; }
.dsc-footer a{ color:#d9d9d9; }
.dsc-footer a:hover{ color:#fff; }

/* Readable text on dark backgrounds (hero, tools, CTA, footer) */
.dsc-on-dark{ color: rgba(255,255,255,.93); }
.dsc-on-dark-2{ color: rgba(255,255,255,.8); }

/* Checkout helpers */
.dsc-pid{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.5px; }
.dsc-success-check{
  width:64px;height:64px;border-radius:50%;background:#e7f8ee;color:#12833f;
  display:flex;align-items:center;justify-content:center;margin:0 auto;
}
.dsc-success-check svg{ width:34px; height:34px; display:block; }

/* Feature list with SVG check icons (product page) */
.dsc-features{ list-style:none; padding-left:0; margin:0; }
.dsc-features li{ display:flex; align-items:flex-start; gap:.5rem; margin-bottom:.45rem; }
.dsc-feat-ico{ flex:0 0 17px; width:17px; height:17px; color:var(--dsc-red); margin-top:.16em; }
.dsc-feat-ico svg{ width:17px; height:17px; display:block; }

/* AI chat */
.dsc-chat{ max-height:460px; overflow-y:auto; padding:.25rem; }
.dsc-msg{ display:flex; gap:.6rem; margin-bottom:1rem; }
.dsc-msg-avatar{
  flex:0 0 34px; height:34px; width:34px; border-radius:50%; background:var(--dsc-black);
  color:#fff; font-size:.7rem; font-weight:800; display:flex; align-items:center; justify-content:center;
}
.dsc-msg-user .dsc-msg-avatar{ background:var(--dsc-red); }
.dsc-msg-body{
  background:var(--dsc-light); border-radius:.75rem; padding:.6rem .85rem; white-space:pre-wrap;
  max-width:85%; line-height:1.6;
}
.dsc-msg-user{ flex-direction:row-reverse; }
.dsc-msg-user .dsc-msg-body{ background:#fff0f3; }
.dsc-chips{ display:flex; flex-wrap:wrap; gap:.5rem; }
.chip{
  background:var(--dsc-light); border:1px solid #e3e3e3; border-radius:2rem; padding:.35rem .8rem;
  font-size:.82rem; color:#333; cursor:pointer;
}
.chip:hover{ background:#fff; border-color:var(--dsc-red); color:var(--dsc-red); }

/* Score ring */
.dsc-score-ring{
  width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;font-weight:800;color:#fff;background:conic-gradient(var(--dsc-red) calc(var(--p)*1%), #eee 0);
  position:relative;
}
.dsc-score-ring::before{ content:""; position:absolute; inset:10px; background:#fff; border-radius:50%; }
.dsc-score-ring span{ position:relative; color:var(--dsc-black); }
.dsc-factor{ border-left:3px solid var(--dsc-red); padding-left:.75rem; margin-bottom:.75rem; }

/* 404 */
.dsc-404{ font-size:6rem; font-weight:900; color:var(--dsc-red); line-height:1; }

.dsc-shot-thumb{ max-width:260px; border:1px solid #ddd; border-radius:.5rem; }
.dsc-legal h5{ margin-top:1.5rem; }
.dsc-msg-preview{ background:var(--dsc-light); padding:.75rem; border-radius:.5rem; white-space:pre-wrap; }

/* Product cover images */
.dsc-product-img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:1rem 1rem 0 0; }
.dsc-product-hero{ width:100%; height:auto; display:block; border-radius:1rem; }
.dsc-topic-img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:.75rem; border:1px solid #ececec; display:block; }

/* UPI payment app buttons (with brand marks) */
.dsc-paybtn{ background:#fff; border:1px solid #dcdcdc; color:#1a1a1a; font-weight:600;
  display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .8rem; border-radius:.55rem; }
.dsc-paybtn:hover,.dsc-paybtn:focus{ background:#fafafa; border-color:#bbb; color:#000;
  box-shadow:0 2px 10px rgba(0,0,0,.07); }
.dsc-paybtn img{ display:block; flex:0 0 auto; }

/* ---- Responsive helpers ---- */
img, canvas, video { max-width: 100%; }
body { overflow-x: hidden; }
@media (min-width: 992px){ .w-lg-auto{ width:auto !important; } }
@media (max-width: 575.98px){
  .dsc-hero .container{ padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .dsc-hero .display-5{ font-size: 1.9rem; }
  .dsc-hero-card{ padding: 1rem; }
  .dsc-hero-row{ font-size: .9rem; }
  .dsc-step{ padding: 1.1rem; }
  .dsc-price.display-6{ font-size: 1.6rem; }
  .dsc-chat{ max-height: 58vh; }
  .dsc-score-ring{ width: 84px; height: 84px; font-size: 1.35rem; }
  .dsc-score-ring::before{ inset: 8px; }
  .dsc-404{ font-size: 4rem; }
  .dsc-msg-body{ max-width: 92%; }
  .card-body{ padding: 1rem; }
  .container{ padding-left: 1rem; padding-right: 1rem; }
}
@media (max-width: 400px){
  .dsc-hero .display-5{ font-size: 1.65rem; }
  .btn-lg{ font-size: 1rem; padding: .6rem 1rem; }
}

/* ---- Floating AI chat widget ---- */
.dsc-fab{ position:fixed; right:20px; bottom:20px; z-index:1040; display:inline-flex; align-items:center; gap:.5rem;
  background:var(--dsc-red); color:#fff; border:0; border-radius:999px; padding:.8rem 1.15rem; font-weight:700;
  box-shadow:0 10px 26px rgba(255,0,51,.42); cursor:pointer; transition:.15s; }
.dsc-fab:hover,.dsc-fab:focus{ background:var(--dsc-red-dark); color:#fff; transform:translateY(-1px); }
.dsc-fab-label{ font-size:.95rem; }
.dsc-ai-panel{ position:fixed; right:20px; bottom:88px; z-index:1041; width:360px; max-width:calc(100vw - 40px);
  height:520px; max-height:calc(100vh - 120px); background:#fff; border:1px solid #e6e6e6; border-radius:1rem;
  box-shadow:0 24px 60px rgba(15,15,15,.28); display:flex; flex-direction:column; overflow:hidden; }
.dsc-ai-head{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.8rem 1rem;
  background:var(--dsc-black); color:#fff; }
.dsc-ai-sub{ color:#b9b9b9; }
.dsc-ai-dot{ width:10px; height:10px; border-radius:50%; background:#2ecc71; display:inline-block; flex:0 0 10px; }
.dsc-ai-body{ flex:1; overflow-y:auto; padding:1rem; background:var(--dsc-light); }
.dsc-ai-foot{ display:flex; gap:.5rem; padding:.75rem; border-top:1px solid #eee; background:#fff; }
.dsc-ai-note{ font-size:.72rem; color:#888; padding:0 .85rem .7rem; background:#fff; }
@media (max-width: 575.98px){
  .dsc-fab{ right:12px; bottom:12px; padding:.9rem; }
  .dsc-fab-label{ display:none; }
  .dsc-ai-panel{ right:12px; left:12px; width:auto; bottom:80px; height:70vh; max-height:none; }
}
