@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@500;600;700;800&display=swap');

canvas {position: fixed;top: 0;left: 0;z-index: -1;}

/* ============================================================
   Resellshop — Red stasis-style theme
   ============================================================ */

/* ---- Fonts: Inter everywhere, Sora for headings ---- */
body, p, span, a, li, td, th, input, button, label, .dSR {
  font-family: 'Inter', system-ui, sans-serif !important;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Sora', 'Inter', sans-serif !important;
  letter-spacing: -0.02em;
}

/* ---- Page background ---- */
body { background-color: #05060a !important; }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background: radial-gradient(85% 65% at 50% 108%, rgba(210, 0, 0, 0.30), transparent 68%);
}

/* ---- Sticky header ---- */
header.sticky {
  z-index: 40 !important;
  background: rgba(5, 6, 10, 0.88);
}

/* ============================================================
   NAVBAR — glass redesign
   ============================================================ */

/* Glass panel */
nav[data-component-id="navbar"] > div > div {
  background: rgba(5, 6, 10, 0.48) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.18);
  position: relative;
}
/* Red shimmer line at the bottom edge */
nav[data-component-id="navbar"] > div > div::after {
  content: '';
  position: absolute; bottom: 0; left: 8%; right: 8%; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 0, 0, 0.55) 35%, rgba(255, 0, 0, 0.55) 65%, transparent);
}
/* Shop name — R-cut, unified Sora, glass gradient */
.rsl-brand {
  display: inline-flex; align-items: center;
  font-family: 'Sora', sans-serif;
  font-size: 1.35rem; font-weight: 800;
  letter-spacing: -0.025em; line-height: 1;
}
.rsl-brand-r, .rsl-brand-rest {
  background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.52) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.rsl-brand-sep { display: none; }
/* Nav links — subtle, no heavy pill border */
nav[data-component-id="navbar"] a[class*="rounded-full"][class*="border-2"] {
  border-width: 1.5px !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
nav[data-component-id="navbar"] a[class*="rounded-full"][class*="border-2"]:hover {
  border-color: rgba(255, 0, 0, 0.30) !important;
  background: rgba(255, 0, 0, 0.06) !important;
}
/* Active nav link — red tint */
nav[data-component-id="navbar"] a[class*="rounded-full"][class*="bg-accent-500"],
nav[data-component-id="navbar"] a[class*="rounded-full"][class*="text-accent-500"] {
  background: rgba(255, 0, 0, 0.14) !important;
  border-color: rgba(255, 0, 0, 0.28) !important;
  color: #ff3333 !important;
}

/* ============================================================
   HERO
   ============================================================ */
.rsl-hero { position: relative; overflow: hidden; }
.rsl-hero > div { min-height: auto; position: relative; z-index: 1; padding-top: 5rem; padding-bottom: 5rem; }
.rsl-hero > div > [aria-hidden="true"] { display: none !important; }

.rsl-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    repeating-linear-gradient(118deg, rgba(255,255,255,0.14) 0 1px, transparent 1px 16px),
    radial-gradient(78% 72% at 62% -6%, rgba(255, 0, 0, 0.72), transparent 65%);
  -webkit-mask-image: radial-gradient(90% 90% at 62% -6%, #000 6%, transparent 82%);
          mask-image: radial-gradient(90% 90% at 62% -6%, #000 6%, transparent 82%);
}

/* eyebrow: red accent text + side lines */
.rsl-eyebrow { display: flex; align-items: center; justify-content: center; gap: 14px; }
.rsl-eyebrow span {
  font-weight: 600; font-size: 0.95rem; white-space: nowrap; font-family: 'Inter', sans-serif !important;
  background: linear-gradient(90deg,
    rgba(255, 50, 50, 0.60) 0%,
    rgba(255, 10, 10, 0.95) 35%,
    rgba(255, 80, 80, 0.80) 65%,
    rgba(255, 30, 30, 0.55) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.rsl-eyebrow::before, .rsl-eyebrow::after { content: ""; height: 1px; width: 70px; max-width: 12vw; }
.rsl-eyebrow::before { background: linear-gradient(90deg, transparent, rgba(255, 0, 0, 0.6)); }
.rsl-eyebrow::after  { background: linear-gradient(90deg, rgba(255, 0, 0, 0.6), transparent); }

/* headline: white → red */
.rsl-hero h1 {
  font-size: clamp(2.6rem, 6.2vw, 5rem) !important;
  line-height: 1.04 !important;
  font-weight: 800 !important;
  background: linear-gradient(104deg, #ffffff 55%, #ff0000 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

.rsl-hero p { font-size: 1.05rem !important; color: rgba(255, 255, 255, 0.5) !important; }

/* Primary button */
[class*="bg-accent-500"] {
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  box-shadow: 0 10px 28px -10px rgba(255, 0, 0, .5);
}
a[class*="bg-accent-500"]:hover,
button[class*="bg-accent-500"]:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 16px 40px -10px rgba(255, 0, 0, .65);
}

/* Secondary ghost button */
.rsl-hero a[class*="border-background"] {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.10) !important;
  box-shadow: none !important;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.rsl-hero a[class*="border-background"]:hover {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  transform: translateY(-2px);
}

.rsl-hero .flex.flex-col { max-width: 62rem !important; margin-inline: auto; }

/* ============================================================
   PRODUCTS SECTION — red cone spotlight
   ============================================================ */
#products { position: relative; overflow: visible; }

/* pull products section header up */
#products > div { padding-top: 2rem !important; }
#products { margin-top: -2rem !important; }
.rsl-prod-head { margin-bottom: 2.5rem !important; }

#products::before {
  content: '';
  position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 100%; height: 620px;
  background:
    radial-gradient(ellipse 120px 160px at 50% 22%, rgba(255, 255, 255, 0.10), transparent 55%),
    radial-gradient(ellipse 320px 280px at 50% 24%, rgba(255, 80, 80, 0.14), transparent 65%),
    radial-gradient(ellipse 700px 500px at 50% 22%, rgba(180, 0, 0, 0.08), transparent 80%);
  pointer-events: none;
  z-index: 0;
}

/* glass headline — large, white→slight red, translucent depth */
.rsl-prod-title {
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.03em;
  font-family: 'Sora', sans-serif !important;
  background: linear-gradient(180deg,
    rgba(255, 255, 255, 0.97) 0%,
    rgba(255, 230, 230, 0.82) 60%,
    rgba(255, 200, 200, 0.70) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

.rsl-prod-sub {
  font-size: 1.12rem;
  line-height: 1.65;
  font-family: 'Inter', sans-serif !important;
  max-width: 38rem;
  margin-top: -0.6rem;
  background: linear-gradient(90deg,
    rgba(255, 255, 255, 0.45) 0%,
    rgba(255, 255, 255, 0.78) 28%,
    rgba(255, 220, 220, 0.65) 60%,
    rgba(255, 255, 255, 0.42) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* ---- Product cards ---- */
/* 4-column grid */
#products [class*="flex-wrap"] { gap: 1.25rem !important; }

@media (max-width: 639px) {
  #products [class*="flex-wrap"] > div { width: 100% !important; }
}
@media (min-width: 640px) and (max-width: 1023px) {
  #products [class*="flex-wrap"] > div { width: calc((100% - 1.25rem) / 2) !important; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  #products [class*="flex-wrap"] > div { width: calc((100% - 2.5rem) / 3) !important; }
}
@media (min-width: 1280px) {
  #products [class*="flex-wrap"] > div { width: calc((100% - 3.75rem) / 4) !important; }
}

.rsl-pcard {
  display: block;
  position: relative;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, .09);
  background: linear-gradient(160deg,
    rgba(255, 255, 255, .07) 0%,
    rgba(14, 12, 20, .95) 30%,
    rgba(10, 10, 15, .98) 100%);
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
/* glass highlight line at top */
.rsl-pcard::before {
  content: '';
  position: absolute;
  top: 0; left: 8%; right: 8%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18) 40%, rgba(255,255,255,.10) 60%, transparent);
  pointer-events: none; z-index: 1;
}
.rsl-pcard:hover {
  transform: scale(1.018);
  border-color: rgba(255, 0, 0, .22);
  box-shadow:
    0 0 14px 3px rgba(255, 0, 0, .11),
    0 0 42px 10px rgba(255, 0, 0, .05);
}

/* Image */
.rsl-pcard-img { position: relative; overflow: hidden; }
.rsl-pcard-thumb { width: 100%; display: block; object-fit: cover; }
.rsl-pcard-no-img {
  width: 100%; display: flex; align-items: center; justify-content: center;
  background: rgba(255,0,0,.04); color: rgba(255,0,0,.4);
}
.rsl-pcard-no-img-icon { width: 5rem; height: 5rem; }

/* Stock badge — top right of image */
.rsl-pcard-sb {
  position: absolute; top: .65rem; right: .65rem;
  display: inline-flex; align-items: center; gap: .42rem;
  font-size: .76rem; font-weight: 600; white-space: nowrap;
  padding: .32rem .85rem; border-radius: 999px;
  font-family: 'Inter', sans-serif !important;
}
.rsl-pcard-sb--in {
  background: rgba(4, 18, 10, 0.82);
  border: 1px solid rgba(16, 185, 129, .22);
  color: #10b981;
}
.rsl-pcard-sb--out {
  background: rgba(18, 4, 4, 0.82);
  border: 1px solid rgba(255, 60, 60, .22);
  color: #ff5555;
}
.rsl-pcard-sb-dot {
  width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto;
}
.rsl-pcard-sb--in  .rsl-pcard-sb-dot { background: #10b981; box-shadow: 0 0 5px #10b981; }
.rsl-pcard-sb--out .rsl-pcard-sb-dot { background: #ff5555; box-shadow: 0 0 5px #ff5555; }

/* Body */
.rsl-pcard-body { padding: .95rem 1.1rem 1.05rem; border-top: 1px solid rgba(255, 255, 255, .10); text-align: left !important; }

/* Title row: name left, badge right */
.rsl-pcard-title-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: .6rem; margin-bottom: .75rem;
}
.rsl-pcard-name {
  font-size: 1.08rem; font-weight: 700; color: #fff; flex: 1;
  overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  font-family: 'Sora', sans-serif !important;
}

/* Bottom row: left meta + right price */
.rsl-pcard-bottom {
  display: flex; justify-content: space-between; align-items: flex-end;
}
.rsl-pcard-meta { display: flex; flex-direction: column; gap: .14rem; }
.rsl-pcard-count {
  font-size: .92rem; font-weight: 700; color: rgba(255,255,255,.5);
  font-family: 'Inter', sans-serif !important;
}
.rsl-pcard-count--green { color: #10b981; }
.rsl-pcard-delivery { font-size: .78rem; color: rgba(255,255,255,.28); font-family: 'Inter', sans-serif !important; }

.rsl-pcard-price {
  font-size: 1.38rem; font-weight: 800;
  color: #ff1a1a; letter-spacing: -.02em; line-height: 1;
  font-family: 'Sora', sans-serif !important;
}


/* ============================================================
   WHY CHOOSE US — 3 bento cards
   ============================================================ */
.rsl-features { max-width: 1040px; margin: 0 auto; }
.rsl-features-head { display: flex; flex-direction: column; align-items: center; gap: .6rem; text-align: center; margin-bottom: 2.25rem; }
.rsl-features-head h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 800; }
.rsl-features-head p { color: rgba(255, 255, 255, .5); max-width: 34rem; font-size: .95rem; }
.rsl-accent { color: rgb(var(--cl-accent)); }

.rsl-features-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 860px) {
  .rsl-features-grid { grid-template-columns: repeat(3, 1fr); }
}

.rsl-feature-card {
  position: relative;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .012));
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.rsl-feature-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 0, 0, .4);
  box-shadow: 0 20px 50px -22px rgba(255, 0, 0, .4);
}
.rsl-card-visual {
  position: relative;
  min-height: 140px;
  display: flex; align-items: center; justify-content: center;
  padding: 1.1rem;
  background: radial-gradient(120% 100% at 50% -10%, rgba(255, 0, 0, .10), transparent 60%);
}
.rsl-card-body { padding: .9rem 1.1rem 1.15rem; border-top: 1px solid rgba(255, 255, 255, .06); }
.rsl-card-body h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .3rem; font-family: 'Sora', sans-serif !important; }
.rsl-card-body p { color: rgba(255, 255, 255, .55); font-size: .82rem; line-height: 1.5; font-family: 'Inter', sans-serif !important; }

/* ============================================================
   PAYMENTS MARQUEE — 2 rows, real logos, opposite directions
   ============================================================ */
.rsl-pay-rows {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 11%, #000 89%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 11%, #000 89%, transparent);
}
.rsl-pay-track { display: flex; gap: .65rem; width: max-content; }
.rsl-pay-track--fwd { animation: rsl-mar-fwd 26s linear infinite; }
.rsl-pay-track--rev { animation: rsl-mar-rev 26s linear infinite; }
@keyframes rsl-mar-fwd { from { transform: translateX(0); }      to { transform: translateX(-50%); } }
@keyframes rsl-mar-rev { from { transform: translateX(-50%); }   to { transform: translateX(0); } }

.rsl-pay-pill {
  flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  gap: .55rem;
  height: 56px; padding: 0 1.1rem; border-radius: .75rem;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .11);
}
.rsl-pay-pill img { height: 26px; width: auto; object-fit: contain; display: block; }
.rsl-pay-pill span { font-size: .85rem; font-weight: 600; color: rgba(255,255,255,.82); white-space: nowrap; letter-spacing: .02em; font-family: 'Inter', sans-serif !important; }
.rsl-pay-pill--text { padding: 0 1.2rem; }
.rsl-pay-pill--text span { font-size: .9rem; font-weight: 800; color: rgba(255,255,255,.9); }

/* ============================================================
   STATS — smooth count-up
   ============================================================ */
.rsl-stats-row { display: flex; flex-direction: column; gap: 1.2rem; justify-content: center; align-items: center; }
.rsl-stat { text-align: center; }
.rsl-stat-num {
  font-size: clamp(2rem, 3.2vw, 2.7rem); font-weight: 800; line-height: 1;
  background: linear-gradient(160deg, #ffffff 0%, #ff0000 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  letter-spacing: -.02em;
  font-family: 'Sora', sans-serif !important;
}
.rsl-stat-label { margin-top: .4rem; color: rgba(255, 255, 255, .52); font-size: .82rem; font-family: 'Inter', sans-serif !important; }

/* ============================================================
   ANIMATED SHIELD — Undetected & Safe
   ============================================================ */
.rsl-safe-anim {
  position: relative;
  width: 120px; height: 120px;
  display: flex; align-items: center; justify-content: center;
}
.rsl-safe-core {
  position: relative; z-index: 3;
  width: 64px; height: 64px; border-radius: 50%;
  background: radial-gradient(circle at 38% 30%, #ff2020, #880000);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.65rem;
  animation: rsl-safe-pulse 2.2s ease-in-out infinite;
}
@keyframes rsl-safe-pulse {
  0%, 100% { box-shadow: 0 0 18px rgba(255, 0, 0, .5), 0 0 38px rgba(255, 0, 0, .2); }
  50%       { box-shadow: 0 0 32px rgba(255, 0, 0, .78), 0 0 60px rgba(255, 0, 0, .38); }
}
.rsl-safe-ring {
  position: absolute; border-radius: 50%;
  border: 1.5px solid rgba(255, 0, 0, .5);
  animation: rsl-ring-out 2.7s ease-out infinite;
}
.rsl-safe-ring:nth-child(1) { animation-delay: 0s; }
.rsl-safe-ring:nth-child(2) { animation-delay: .9s; }
.rsl-safe-ring:nth-child(3) { animation-delay: 1.8s; }
@keyframes rsl-ring-out {
  0%   { width: 64px; height: 64px; opacity: .9; border-color: rgba(255, 0, 0, .55); }
  100% { width: 122px; height: 122px; opacity: 0;  border-color: rgba(255, 0, 0, 0); }
}
.rsl-safe-orbit {
  position: absolute;
  width: 96px; height: 96px; border-radius: 50%;
  border: 1px dashed rgba(255, 0, 0, .28);
  animation: rsl-safe-spin 5s linear infinite;
}
.rsl-safe-orbit::before {
  content: '';
  position: absolute; top: -4px; left: 50%; transform: translateX(-50%);
  width: 8px; height: 8px; border-radius: 50%;
  background: #ff0000;
  box-shadow: 0 0 10px #ff0000, 0 0 4px #fff;
}
@keyframes rsl-safe-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* ============================================================
   FAQ — glass + glow styling
   ============================================================ */
[data-component-id="faq"] h2 {
  font-family: 'Sora', sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,220,220,.70) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
[data-component-id="faq"] p {
  color: rgba(255,255,255,.45) !important;
  font-family: 'Inter', sans-serif !important;
}
/* FAQ accordion items */
[data-component-id="faq"] button,
[data-component-id="faq"] [role="button"],
[data-component-id="faq"] > div > div > div {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: .85rem !important;
  backdrop-filter: blur(10px) !important;
  transition: border-color .3s, box-shadow .3s !important;
}
[data-component-id="faq"] button:hover,
[data-component-id="faq"] [role="button"]:hover {
  border-color: rgba(255,0,0,.22) !important;
  box-shadow: 0 0 18px rgba(255,0,0,.07) !important;
}
/* Question text — clean white bold */
[data-component-id="faq"] button span,
[data-component-id="faq"] [role="button"] span,
[data-component-id="faq"] h3 {
  font-family: 'Sora', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  color: rgba(255, 255, 255, .92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .92) !important;
  background: none !important;
  text-shadow: none !important;
  filter: none !important;
  transition: color .25s ease, filter .25s ease !important;
}
/* Answer text */
[data-component-id="faq"] [aria-hidden],
[data-component-id="faq"] p:not(:first-of-type) {
  color: rgba(255,255,255,.48) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .92rem !important;
}
/* Icon/chevron — red */
[data-component-id="faq"] svg { color: #ff2020 !important; stroke: #ff2020 !important; }

/* ---- FAQ open state: red glow + brighter text ---- */
[data-component-id="faq"] button[aria-expanded="true"],
[data-component-id="faq"] [role="button"][aria-expanded="true"] {
  border-color: rgba(255, 0, 0, .32) !important;
  box-shadow: 0 0 26px rgba(255, 0, 0, .13), inset 0 0 12px rgba(255, 0, 0, .05) !important;
  background: rgba(255, 0, 0, .045) !important;
}
[data-component-id="faq"] button[aria-expanded="true"] span,
[data-component-id="faq"] [role="button"][aria-expanded="true"] span {
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, .48)) !important;
}

/* ---- Map canvas z-index fix (global canvas rule sets z-index:-1) ---- */
#rsl-map-static { z-index: 2 !important; }   /* cobe WebGL canvas */
#rsl-map-anim   { z-index: 3 !important; }   /* red ping overlay above globe */

/* ---- Cursor glow ---- */
#rsl-cursor-glow {
  position: fixed;
  width: 500px; height: 500px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
  top: 0; left: 0;
  transform: translate(-250px, -250px);
  background: radial-gradient(circle, rgba(255,0,0,.10) 0%, rgba(255,0,0,.04) 40%, transparent 70%);
  opacity: 0;
  transition: opacity .4s ease;
  will-change: transform, opacity;
}

/* ---- Feedback marquee edge fade + card size overrides ---- */
.rsl-fb-marquee-wrap {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.rsl-fb-text { font-size: .88rem !important; line-height: 1.55 !important; }