/* TSUKUYOMI Custom Theme - clean purple moon/glass style */
:root {
  --tsu-bg: #03020a;
  --tsu-bg-2: #070513;
  --tsu-card: rgba(16, 12, 28, 0.72);
  --tsu-card-strong: rgba(22, 16, 38, 0.92);
  --tsu-border: rgba(216, 180, 254, 0.12);
  --tsu-border-strong: rgba(168, 85, 247, 0.38);
  --tsu-purple: #a855f7;
  --tsu-purple-2: #c084fc;
  --tsu-purple-3: #7c3aed;
  --tsu-moon: #f3e8ff;
  --tsu-text: #f8f4ff;
  --tsu-muted: rgba(248, 244, 255, 0.62);
  --tsu-shadow: 0 22px 80px rgba(0, 0, 0, 0.42);
  --tsu-glow: 0 0 34px rgba(168, 85, 247, 0.24);
}

* {
  scrollbar-width: thin;
  scrollbar-color: rgba(168, 85, 247, 0.75) transparent;
}

*::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--tsu-purple), var(--tsu-purple-3));
  border-radius: 999px;
}

html {
  background: var(--tsu-bg);
}

body {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 50% -15%, rgba(192, 132, 252, 0.24), transparent 33rem),
    radial-gradient(circle at 10% 18%, rgba(124, 58, 237, 0.20), transparent 28rem),
    radial-gradient(circle at 90% 12%, rgba(216, 180, 254, 0.12), transparent 28rem),
    linear-gradient(180deg, #05030d 0%, #03020a 48%, #06030f 100%) !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.36;
  background-image:
    linear-gradient(rgba(168, 85, 247, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168, 85, 247, 0.07) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 50% 0%, black, transparent 76%);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,0.07), transparent 14rem),
    linear-gradient(180deg, transparent 0%, rgba(3,2,10,0.55) 100%);
}

#particles-js {
  opacity: 0.28;
  filter: blur(0.2px);
}

#app {
  position: relative;
  z-index: 1;
}

#app > div {
  max-width: 92rem !important;
}

.component > div,
[data-component-id] > div {
  border-radius: 22px;
}

[data-component-id="announcement"] > div,
[data-component-id="navbar"] > div,
[data-component-id="footer"] > div,
[data-component-id="features"] .grid > div,
[data-component-id="stats"] .grid > div,
[data-component-id="categories"] a,
[data-component-id="products"] a,
[data-component-id="products-page"] a,
[data-component-id="feedbacks"] .grid > div,
[data-component-id="cart-page"] > div,
[data-component-id="product-page"] > div,
[data-component-id="status-page"] > div,
[data-component-id="faq"] > div,
[data-component-id="blog-posts"] a {
  background: linear-gradient(180deg, rgba(22, 16, 38, 0.82), rgba(10, 7, 18, 0.78)) !important;
  border: 1px solid var(--tsu-border) !important;
  box-shadow: var(--tsu-shadow);
  backdrop-filter: blur(18px);
}

[data-component-id="navbar"] {
  position: sticky;
  top: 16px;
  z-index: 40;
}

[data-component-id="navbar"] > div {
  background: rgba(10, 7, 18, 0.78) !important;
  border-color: rgba(216, 180, 254, 0.13) !important;
  box-shadow: 0 14px 50px rgba(0,0,0,0.35), 0 0 0 1px rgba(168, 85, 247, 0.06) inset;
}

[data-component-id="navbar"] img {
  max-height: 42px !important;
  filter: drop-shadow(0 0 16px rgba(168, 85, 247, 0.55));
}

[data-component-id="navbar"] h1,
[data-component-id="footer"] h1 {
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #fff, #e9d5ff 45%, #a855f7);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

[data-component-id="navbar"] a,
[data-component-id="navbar"] button {
  border-radius: 999px;
}

[data-component-id="navbar"] a:hover,
[data-component-id="navbar"] button:hover {
  color: var(--tsu-moon) !important;
  background: rgba(168, 85, 247, 0.10) !important;
}

[data-component-id="hero"] > div {
  position: relative;
  overflow: hidden;
  padding-top: 7rem !important;
  padding-bottom: 7rem !important;
}

[data-component-id="hero"] > div::before {
  content: "T";
  position: absolute;
  left: 50%;
  top: 46%;
  transform: translate(-50%, -50%);
  font-size: clamp(12rem, 28vw, 26rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.12em;
  color: rgba(168, 85, 247, 0.045);
  text-shadow: 0 0 80px rgba(168, 85, 247, 0.18);
  pointer-events: none;
}

[data-component-id="hero"] > div::after {
  content: "";
  position: absolute;
  width: 18rem;
  height: 18rem;
  left: calc(50% - 9rem);
  top: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(216, 180, 254, 0.16);
  box-shadow: 0 0 120px rgba(168, 85, 247, 0.16), inset 0 0 40px rgba(255,255,255,0.03);
  opacity: 0.55;
  pointer-events: none;
}

[data-component-id="hero"] h1 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: -0.07em;
  line-height: 0.95 !important;
  text-shadow: 0 18px 70px rgba(0,0,0,0.55);
}

[data-component-id="hero"] h1 .text-accent-500,
.text-accent-500 {
  color: var(--tsu-purple-2) !important;
  background: linear-gradient(135deg, #ffffff 0%, #f3e8ff 18%, #c084fc 52%, #8b5cf6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-component-id="hero"] p {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  color: var(--tsu-muted) !important;
}

[data-component-id="hero"] a,
[data-component-id="products"] a .border,
[data-component-id="products-page"] a .border,
button[type="submit"],
a[class*="bg-accent"],
button[class*="bg-accent"] {
  border-radius: 999px !important;
}

[data-component-id="hero"] a:first-child,
a[class*="bg-accent-500"],
button[class*="bg-accent-500"] {
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 48%, #d8b4fe 100%) !important;
  border-color: rgba(216, 180, 254, 0.42) !important;
  box-shadow: 0 0 35px rgba(168, 85, 247, 0.28), inset 0 1px 0 rgba(255,255,255,0.22);
  color: #fff !important;
}

[data-component-id="hero"] a:hover,
a[class*="bg-accent-500"]:hover,
button[class*="bg-accent-500"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 50px rgba(168, 85, 247, 0.40), inset 0 1px 0 rgba(255,255,255,0.28);
}

input,
textarea,
select,
.choices__inner {
  background: rgba(255, 255, 255, 0.035) !important;
  border: 1px solid rgba(216, 180, 254, 0.12) !important;
  border-radius: 14px !important;
  color: var(--tsu-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

input:focus,
textarea:focus,
select:focus,
.choices.is-open .choices__inner {
  border-color: rgba(192, 132, 252, 0.58) !important;
  box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.12) !important;
  outline: none !important;
}

::placeholder {
  color: rgba(248, 244, 255, 0.42) !important;
}

[data-component-id="products"] a,
[data-component-id="products-page"] a,
[data-component-id="categories"] a,
[data-component-id="blog-posts"] a {
  position: relative;
  overflow: hidden;
  border-radius: 20px !important;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

[data-component-id="products"] a::before,
[data-component-id="products-page"] a::before,
[data-component-id="categories"] a::before,
[data-component-id="blog-posts"] a::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 0%, rgba(168, 85, 247, 0.18), transparent 42%);
  opacity: 0;
  transition: opacity 180ms ease;
}

[data-component-id="products"] a:hover,
[data-component-id="products-page"] a:hover,
[data-component-id="categories"] a:hover,
[data-component-id="blog-posts"] a:hover {
  transform: translateY(-4px);
  border-color: var(--tsu-border-strong) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,0.50), 0 0 42px rgba(168, 85, 247, 0.16);
}

[data-component-id="products"] a:hover::before,
[data-component-id="products-page"] a:hover::before,
[data-component-id="categories"] a:hover::before,
[data-component-id="blog-posts"] a:hover::before {
  opacity: 1;
}

[data-component-id="products"] img,
[data-component-id="products-page"] img,
[data-component-id="categories"] img,
[data-component-id="blog-posts"] img,
[data-component-id="product-page"] img {
  border-radius: 16px !important;
  filter: saturate(1.08) contrast(1.04);
}

[data-component-id="products"] h3,
[data-component-id="products-page"] h3,
[data-component-id="categories"] h3,
[data-component-id="features"] h3,
[data-component-id="feedbacks"] h3 {
  letter-spacing: -0.035em;
}

[data-component-id="features"] .grid > div,
[data-component-id="stats"] .grid > div,
[data-component-id="feedbacks"] .grid > div {
  border-radius: 20px !important;
  transition: transform 180ms ease, border-color 180ms ease;
}

[data-component-id="features"] .grid > div:hover,
[data-component-id="stats"] .grid > div:hover,
[data-component-id="feedbacks"] .grid > div:hover {
  transform: translateY(-3px);
  border-color: var(--tsu-border-strong) !important;
}

[data-component-id="features"] i,
[data-component-id="stats"] i,
[data-component-id="status-page"] i,
.fa-star,
.fa-bolt,
.fa-shield-halved,
.fa-discord,
.fa-rotate {
  color: var(--tsu-purple-2) !important;
  filter: drop-shadow(0 0 12px rgba(168, 85, 247, 0.36));
}

[data-component-id="product-page"] > div,
[data-component-id="cart-page"] > div,
[data-component-id="status-page"] > div,
[data-component-id="terms-page"] > div,
[data-component-id="privacy-policy-page"] > div,
[data-component-id="refund-policy-page"] > div {
  border-radius: 22px !important;
  overflow: hidden;
}

[data-component-id="product-page"] button,
[data-component-id="product-page"] a,
[data-component-id="cart-page"] button,
[data-component-id="cart-page"] a,
[data-component-id="customer-login-modal"] button {
  border-radius: 14px !important;
}

[data-component-id="footer"] > div {
  background: rgba(8, 5, 16, 0.78) !important;
  border-radius: 22px 22px 0 0 !important;
}

.editor,
.editor * {
  color-scheme: dark;
}

.e-link,
.editor .e-link {
  color: var(--tsu-purple-2) !important;
}

.bg-accent-500,
.border-accent-500,
.text-accent-500 {
  transition: all 180ms ease;
}

@media (max-width: 768px) {
  [data-component-id="navbar"] {
    top: 8px;
  }

  [data-component-id="hero"] > div {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }

  [data-component-id="hero"] h1 {
    font-size: 2.7rem !important;
  }
}

/* Patch v2 */
.announcement.component {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: 14px;
  padding-right: 14px;
}

[data-component-id="announcement"] > div {
  width: 100% !important;
  max-width: none !important;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, rgba(10,7,18,0.95), rgba(20,12,34,0.90), rgba(10,7,18,0.95)) !important;
  border: 1px solid rgba(168, 85, 247, 0.18) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.04);
}

[data-component-id="announcement"] .overflow-hidden {
  width: 100%;
  height: 24px !important;
}

[data-component-id="announcement"] p,
[data-component-id="announcement"] p a,
[data-component-id="announcement"] .text-center,
[data-component-id="announcement"] .text-t-accent {
  color: var(--tsu-moon) !important;
  opacity: 0.95;
}

[data-component-id="announcement"] p a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

[data-component-id="product-page"] button.bg-accent-500,
[data-component-id="cart-page"] button.bg-accent-500,
[data-component-id="product-page"] button.border-accent-500.bg-accent-500,
[data-component-id="cart-page"] button.border-accent-500.bg-accent-500 {
  color: #fff !important;
}

[data-component-id="product-page"] button.bg-accent-500 span,
[data-component-id="product-page"] button.bg-accent-500 i,
[data-component-id="cart-page"] button.bg-accent-500 span,
[data-component-id="cart-page"] button.bg-accent-500 i {
  color: #fff !important;
}

[data-component-id="product-page"] button[type="submit"] {
  color: var(--tsu-moon) !important;
}

[data-component-id="product-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button,
[data-component-id="cart-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button {
  min-height: 46px;
}

[data-component-id="features"] .flex.flex-wrap {
  align-items: stretch;
}

[data-component-id="features"] .flex.flex-wrap > div {
  display: flex;
}

[data-component-id="features"] .flex.flex-wrap > div > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  min-height: 192px;
  height: 100%;
}

[data-component-id="features"] .flex.flex-wrap > div > div p {
  flex: 1;
}


/* Patch v3 - announcement full width + visible CTA text */
.announcement.component {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

[data-component-id="announcement"] {
  width: 100vw !important;
  max-width: 100vw !important;
}

[data-component-id="announcement"] > div {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(168, 85, 247, 0.16), transparent 42%),
    linear-gradient(90deg, rgba(8, 5, 16, 0.96), rgba(20, 12, 34, 0.92), rgba(8, 5, 16, 0.96)) !important;
  border: 1px solid rgba(168, 85, 247, 0.26) !important;
  box-shadow: 0 12px 42px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
}

[data-component-id="announcement"] .overflow-hidden {
  width: 100% !important;
  height: 24px !important;
}

[data-component-id="announcement"] p,
[data-component-id="announcement"] p *,
[data-component-id="announcement"] a {
  color: var(--tsu-moon) !important;
  -webkit-text-fill-color: var(--tsu-moon) !important;
  opacity: 1 !important;
}

[data-component-id="announcement"] a {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Keep gradient text only on hero titles, not on buttons/links */
[data-component-id="hero"] a,
[data-component-id="hero"] a *,
[data-component-id="product-page"] button,
[data-component-id="product-page"] button *,
[data-component-id="cart-page"] button,
[data-component-id="cart-page"] button * {
  -webkit-text-fill-color: currentColor !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
}

/* Hero CTA fixes */
[data-component-id="hero"] a {
  min-width: 220px !important;
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}

[data-component-id="hero"] a:not(:first-child) {
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 48%, #d8b4fe 100%) !important;
  border: 1px solid rgba(216, 180, 254, 0.44) !important;
  box-shadow: 0 0 35px rgba(168, 85, 247, 0.28), inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

/* Product page button fixes */
[data-component-id="product-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row {
  gap: 14px !important;
}

[data-component-id="product-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button,
[data-component-id="cart-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button {
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 15px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 48%, #d8b4fe 100%) !important;
  border: 1px solid rgba(216, 180, 254, 0.45) !important;
  box-shadow: 0 0 32px rgba(168, 85, 247, 0.26), inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

[data-component-id="product-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button:hover,
[data-component-id="cart-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 0 46px rgba(168, 85, 247, 0.38), inset 0 1px 0 rgba(255,255,255,0.28) !important;
}

[data-component-id="product-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button span,
[data-component-id="product-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button i,
[data-component-id="cart-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button span,
[data-component-id="cart-page"] .flex.flex-col.gap-4.mt-4.lg\:flex-row > button i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hard fallback for Buy Now if SellAuth/Tailwind hides the text */
[data-component-id="product-page"] button[type="submit"] {
  font-size: 0 !important;
}

[data-component-id="product-page"] button[type="submit"]::before {
  content: "Buy Now";
  display: inline-block;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

[data-component-id="product-page"] button[type="submit"] i {
  margin-left: 10px !important;
  font-size: 15px !important;
}

/* Feature cards equal and less awkward */
[data-component-id="features"] .flex.flex-wrap {
  align-items: stretch !important;
}

[data-component-id="features"] .flex.flex-wrap > div {
  display: flex !important;
}

[data-component-id="features"] .flex.flex-wrap > div > div {
  height: 100% !important;
  min-height: 188px !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

[data-component-id="features"] .flex.flex-wrap > div > div i {
  margin-bottom: 18px !important;
}

[data-component-id="features"] .flex.flex-wrap > div > div h4 {
  min-height: 26px !important;
}

[data-component-id="features"] .flex.flex-wrap > div > div p {
  min-height: 52px !important;
}


/* Patch v4 - final polish */
#app > .announcement.component,
.announcement.component[data-component-id="announcement"],
[data-component-id="announcement"].announcement {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

[data-component-id="announcement"] .tsu-announcement-wrap {
  width: calc(100vw - 28px) !important;
  max-width: calc(100vw - 28px) !important;
  min-height: 44px !important;
  margin: 0 auto 18px auto !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(192, 132, 252, 0.18), transparent 45%),
    linear-gradient(90deg, rgba(7, 4, 14, 0.92), rgba(20, 12, 34, 0.88), rgba(7, 4, 14, 0.92)) !important;
  border: 1px solid rgba(168, 85, 247, 0.36) !important;
  box-shadow: 0 14px 42px rgba(0, 0, 0, 0.30), inset 0 1px 0 rgba(255,255,255,0.05) !important;
  backdrop-filter: blur(18px) !important;
}

[data-component-id="announcement"] .tsu-announcement-track {
  width: 100% !important;
  height: 22px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

[data-component-id="announcement"] .tsu-announcement-text {
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--tsu-moon) !important;
  -webkit-text-fill-color: var(--tsu-moon) !important;
  opacity: 1 !important;
}

[data-component-id="announcement"] .tsu-announcement-text *,
[data-component-id="announcement"] .tsu-announcement-text a {
  color: var(--tsu-moon) !important;
  -webkit-text-fill-color: var(--tsu-moon) !important;
  opacity: 1 !important;
}

[data-component-id="announcement"] .tsu-announcement-text a {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
}

[data-component-id="navbar"] {
  top: 0 !important;
  margin-top: 0 !important;
}

[data-component-id="navbar"] > div {
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 22px !important;
}

.tsu-cta-button,
[data-component-id="hero"] .tsu-cta-button {
  min-width: 215px !important;
  height: 46px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
  position: relative !important;
  overflow: hidden !important;
}

.tsu-cta-button span,
.tsu-cta-button i,
[data-component-id="hero"] .tsu-cta-button span,
[data-component-id="hero"] .tsu-cta-button i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
}

.tsu-cta-button::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(135deg, rgba(124, 58, 237, 1), rgba(168, 85, 247, 1) 48%, rgba(216, 180, 254, 1)) !important;
  z-index: 0 !important;
}

.tsu-cta-button::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: inherit !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.14), transparent 42%, rgba(255,255,255,0.16)) !important;
  opacity: 0.9 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tsu-btn-secondary::before {
  background: linear-gradient(135deg, rgba(109, 40, 217, 0.92), rgba(168, 85, 247, 0.92) 48%, rgba(216, 180, 254, 0.92)) !important;
}

.tsu-cta-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 0 48px rgba(168, 85, 247, 0.42), inset 0 1px 0 rgba(255,255,255,0.26) !important;
}

[data-component-id="hero"] .flex.flex-wrap.items-center.gap-4 {
  gap: 14px !important;
}

[data-component-id="hero"] .tsu-cta-button i {
  font-size: 14px !important;
}

@media (max-width: 768px) {
  [data-component-id="announcement"] .tsu-announcement-wrap {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    min-height: 40px !important;
    margin-bottom: 12px !important;
    padding: 0 14px !important;
  }

  [data-component-id="announcement"] .tsu-announcement-text {
    font-size: 12px !important;
  }

  .tsu-cta-button,
  [data-component-id="hero"] .tsu-cta-button {
    min-width: 100% !important;
  }
}
