/* RAJAGACOR — modern casino, elegant cyberpunk. Visual skin only. */

:root {
  --rg-void: #07060f;
  --rg-ink: #100c1c;
  --rg-panel: rgba(16, 12, 30, 0.82);
  --rg-panel-solid: #161228;
  --rg-magenta: #ff2d95;
  --rg-magenta-deep: #c2186b;
  --rg-cyan: #3df0ff;
  --rg-cyan-deep: #149eb8;
  --rg-violet: #8d6bff;
  --rg-gold: #e8c872;
  --rg-gold-light: #f8e7b2;
  --rg-gold-dark: #a7843a;
  --rg-text: #f7f3ff;
  --rg-muted: #b7aed0;
  --rg-line: rgba(61, 240, 255, 0.28);
  --rg-line-gold: rgba(232, 200, 114, 0.42);
  --rg-bg: #07060f;
  --rg-surface: #161228;
  --rg-surface-alt: #221a38;
  --rg-danger: #ff4d6d;
  --rg-success: #3dffc5;
}

[data-theme="default"] {
  --color-primary-100: #f8e7b2;
  --color-primary-200: #e8c872;
  --color-primary-300: #3df0ff;
  --color-primary-400: #8d6bff;
  --color-primary-500: #ff2d95;
  --color-primary-600: #c2186b;
  --color-primary-700: #8d6bff;
  --color-primary-800: #161228;
  --color-primary-900: #07060f;
  --color-primary-500-a10: rgba(255, 45, 149, 0.12);
  --color-primary-500-a25: rgba(255, 45, 149, 0.25);
  --color-primary-500-a70: rgba(255, 45, 149, 0.7);
  --color-link-500: #3df0ff;
  --color-link-600: #e8c872;
  color-scheme: dark;
}

html,
body,
#teepublic {
  background-color: var(--rg-void) !important;
  color: var(--rg-text) !important;
}

body {
  font-family: "Outfit", "Segoe UI", sans-serif !important;
  background-image:
    radial-gradient(ellipse 70% 45% at 8% -8%, rgba(255, 45, 149, 0.22), transparent 58%),
    radial-gradient(ellipse 55% 40% at 100% 0%, rgba(61, 240, 255, 0.14), transparent 52%),
    radial-gradient(ellipse 40% 30% at 80% 100%, rgba(141, 107, 255, 0.16), transparent 60%),
    linear-gradient(rgba(61, 240, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 240, 255, 0.035) 1px, transparent 1px) !important;
  background-size: auto, auto, auto, 56px 56px, 56px 56px !important;
  background-attachment: fixed !important;
}

h1,
h2,
h3,
h4,
.h__h1--sm,
.h__h2--secondary,
.m-design__ratings-heading,
.m-newsletter-signup-header,
.link-collection__header {
  font-family: "Cinzel", "Times New Roman", serif !important;
  color: var(--rg-gold-light) !important;
  letter-spacing: 0.04em;
}

p,
li,
label,
.m-design-details__description-text,
.m-design__ratings-details,
.m-design__ratings-service-name,
.m-newsletter-signup-header__subtext,
.guarantee__text,
.m-footer__guarantee-text,
.m-footer__guarantee-subtext,
.tp-accordion__content,
.tp-accordion__content span,
.tp-accordion__content p,
.m-design-product-info--product-quality p {
  color: var(--rg-text) !important;
}

a,
.link__content {
  color: var(--rg-cyan);
}

a:hover,
.link:hover .link__content {
  color: var(--rg-gold-light);
}

/* Ticker + official line */
.m-top-banner,
.free-shipping {
  background: transparent !important;
  color: var(--rg-gold-light) !important;
  text-align: center;
}

.free-shipping strong {
  display: inline-block;
  margin-top: 10px;
  color: var(--rg-text) !important;
  font-family: "Cinzel", serif;
  letter-spacing: 0.14em;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
}

/* Header */
.vc-header,
.vc-header__container,
.m-explore-nav,
.m-tab-nav,
.m-explore-nav__container {
  background: rgba(10, 8, 18, 0.88) !important;
  color: var(--rg-text) !important;
  border-color: var(--rg-line) !important;
  backdrop-filter: blur(16px);
}

.vc-header {
  border-bottom: 1px solid var(--rg-line-gold) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(255, 45, 149, 0.25) !important;
}

.vc-header svg,
.vc-header__shop-button svg,
.vc-header__account-button svg,
.vc-header__cart svg {
  fill: var(--rg-cyan) !important;
}

.vc-header__shop-button-text,
.vc-header__account-button-text,
.vc-header__cart-text,
.vc-header__cta-button,
.vc-header__cta-button .link__content,
.m-tab-nav__list a,
.m-explore-nav__link .link__content,
.m-explore-nav__cta .link__content {
  color: var(--rg-text) !important;
  font-family: "Outfit", sans-serif !important;
  letter-spacing: 0.06em;
}

.vc-header__cta-button {
  background: linear-gradient(180deg, #ff4aa8 0%, #c2186b 100%) !important;
  border: 1px solid rgba(248, 231, 178, 0.45) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 18px rgba(255, 45, 149, 0.4) !important;
  padding: 8px 16px !important;
}

.vc-header__cta-button .link__content {
  color: #fff8ee !important;
  font-weight: 700;
}

.m-header__search,
.m-header__search--animate,
.m-header__search-field,
.m-header__search-field-container,
.jsHeadSearchField,
.form__control,
.c-search-form,
.input-group {
  background: #120e1e !important;
  color: var(--rg-text) !important;
  border: 1px solid rgba(61, 240, 255, 0.45) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 1px rgba(255, 45, 149, 0.18), 0 0 16px rgba(61, 240, 255, 0.12) !important;
  outline: none !important;
}

.m-header__search-field-placeholder,
.m-header__search-field-placeholder p {
  color: var(--rg-muted) !important;
}

.m-header__search-submit {
  background: linear-gradient(180deg, var(--rg-cyan) 0%, var(--rg-cyan-deep) 100%) !important;
  border: none !important;
  border-radius: 999px !important;
}

.m-tab-nav__item a {
  border-bottom: 2px solid transparent;
}

.m-tab-nav__list .m-tab-nav__item:first-child a,
.m-explore-nav__link {
  border-radius: 999px;
}

.m-explore-nav__link,
.m-explore-nav__cta {
  border: 1px solid rgba(232, 200, 114, 0.25) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.m-explore-nav__link:hover,
.m-explore-nav__cta:hover {
  border-color: var(--rg-magenta) !important;
  box-shadow: 0 0 18px rgba(255, 45, 149, 0.28);
  transform: translateY(-1px);
}

/* Product stage */
.m-design,
.m-design__content,
.contain,
.wrapper,
.m-design__ratings,
.m-design__inline-search,
.m-design-product-info,
.m-design__additional-info-container,
.m-similar-designs {
  background: transparent !important;
}

.m-design__product,
.m-design__options,
.m-design__preview,
.m-product-preview,
.m-cart-config {
  background: var(--rg-panel) !important;
  color: var(--rg-text) !important;
}

.m-design__product {
  border: 1px solid var(--rg-line-gold) !important;
  border-radius: 22px !important;
  box-shadow:
    inset 0 0 0 1px rgba(61, 240, 255, 0.12),
    0 24px 70px rgba(0, 0, 0, 0.45),
    0 0 40px rgba(255, 45, 149, 0.08) !important;
  padding: 22px !important;
}

.h__h1--sm {
  background: linear-gradient(100deg, #f8e7b2 0%, #ff7ac4 48%, #3df0ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

.m-design__price,
.m-design__price--sale,
.m-design__price--regular {
  color: var(--rg-gold) !important;
  font-family: "Cinzel", serif !important;
  text-shadow: 0 0 16px rgba(232, 200, 114, 0.35);
}

.m-product-preview__gallery,
.m-product-preview__main {
  background:
    radial-gradient(circle at 50% 40%, rgba(255, 45, 149, 0.16), transparent 55%),
    linear-gradient(180deg, #1a1430, #0d0b16) !important;
  border: 1px solid rgba(61, 240, 255, 0.2);
  border-radius: 18px;
}

.m-product-preview img,
.m-product-preview__glider-img img {
  filter: drop-shadow(0 16px 28px rgba(255, 45, 149, 0.28));
}

.m-cart-config__select-label,
.m-cart-config__color-label,
.m-cart-config__color-name {
  color: var(--rg-gold-light) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
}

.radio-selector__select {
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--rg-text) !important;
  border: 1px solid rgba(61, 240, 255, 0.28) !important;
  border-radius: 12px !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.radio-selector__radio:checked + .radio-selector__select,
.radio-selector__select:hover {
  background: linear-gradient(180deg, rgba(255, 45, 149, 0.22), rgba(61, 240, 255, 0.08)) !important;
  border-color: var(--rg-gold) !important;
  color: var(--rg-gold-light) !important;
  box-shadow: 0 0 16px rgba(255, 45, 149, 0.28);
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="number"],
.tp-input-field--text,
select {
  background: #120e1e !important;
  color: var(--rg-text) !important;
  border: 1px solid var(--rg-line) !important;
  border-radius: 12px !important;
}

/* Primary actions */
.btn:not(.btn--black):not(.btn--no-background):not(.btn--segmented):not([disabled]),
.m-design__cart-add.btn,
.jsAddToCart {
  color: #140816 !important;
}

.m-design__cart-add,
.jsAddToCart,
.btn--big.btn--full {
  background: linear-gradient(100deg, #e8c872 0%, #ff2d95 52%, #3df0ff 100%) !important;
  border: 1px solid rgba(248, 231, 178, 0.55) !important;
  border-radius: 999px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  font-weight: 700 !important;
  box-shadow: 0 0 24px rgba(255, 45, 149, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

.m-design__cart-add:hover,
.jsAddToCart:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.btn-x {
  display: inline-block;
  min-width: 180px;
  text-align: center;
  padding: 14px 28px;
  margin: 6px;
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn-x:first-of-type {
  background: linear-gradient(180deg, #ff4aa8 0%, #c2186b 100%) !important;
  color: #fff8ee !important;
  border: 1px solid rgba(248, 231, 178, 0.4) !important;
  box-shadow: 0 0 22px rgba(255, 45, 149, 0.45) !important;
}

.btn-x:last-of-type {
  background: transparent !important;
  color: var(--rg-cyan) !important;
  border: 1px solid var(--rg-cyan) !important;
  box-shadow: 0 0 16px rgba(61, 240, 255, 0.25) !important;
}

.btn-x:hover {
  transform: translateY(-2px);
  color: #fff8ee !important;
}

.btn--cta--on-light .button__content,
.btn--no-background,
.btn--no-background .button__content {
  color: var(--rg-cyan) !important;
}

.guarantee,
.m-design__guarantee {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--rg-line) !important;
  border-radius: 16px;
}

.cqd-banner,
.tp-text-note,
.tp-text-note--information,
.tp-text-note--on-light,
.cqd-banner__banner {
  background: linear-gradient(90deg, rgba(255, 45, 149, 0.16), rgba(61, 240, 255, 0.1)) !important;
  border: 1px solid rgba(232, 200, 114, 0.4) !important;
  border-radius: 14px !important;
  color: var(--rg-text) !important;
}

.tp-text-note__text,
.tp-text-note .strong,
.cqd-banner p {
  color: var(--rg-gold-light) !important;
}

.tp-text-note svg,
.cqd-banner svg {
  fill: var(--rg-gold) !important;
}

.quantity-stepper,
.quantity-stepper__controls,
.m-cart-config__quantity-container {
  background: #120e1e !important;
  color: var(--rg-text) !important;
  border-color: rgba(61, 240, 255, 0.35) !important;
}

/* Ratings, search, FAQ, tags */
.m-design__ratings {
  margin-top: 28px;
  padding: 8px 16px 24px;
}

.m-design__ratings-heading,
.m-design__inline-search__header,
.m-design__h2,
.m-design__subtitles {
  text-align: center;
}

.m-design__ratings-service {
  background: var(--rg-panel) !important;
  border: 1px solid var(--rg-line-gold) !important;
  border-radius: 18px !important;
  box-shadow: 0 0 24px rgba(141, 107, 255, 0.12);
}

.m-design__inline-search,
.m-design-product-info,
.m-design__additional-info-container {
  padding-top: 12px;
  padding-bottom: 12px;
}

.m-design-product-info--product-quality,
.m-design-product-info--faqs,
.tp-accordion,
.m-design__additional-info {
  background: var(--rg-panel) !important;
  border: 1px solid rgba(232, 200, 114, 0.22) !important;
  border-radius: 18px !important;
  color: var(--rg-text) !important;
}

.m-design-product-info--product-quality h4,
.tp-accordion__button,
.tp-accordion__button-text {
  color: var(--rg-gold-light) !important;
  background: transparent !important;
  font-family: "Outfit", sans-serif !important;
}

.tp-accordion__button {
  border-bottom: 1px solid rgba(61, 240, 255, 0.15) !important;
}

.m-design-product-info--product-quality a,
.tp-accordion__content a .link__content {
  color: var(--rg-magenta) !important;
}

.vc-pill,
.vc-pill--on-light,
.vc-pill .link__content {
  background: rgba(61, 240, 255, 0.06) !important;
  color: var(--rg-cyan) !important;
  border: 1px solid rgba(61, 240, 255, 0.35) !important;
  border-radius: 999px !important;
}

.vc-pill:hover,
.vc-pill:hover .link__content {
  background: rgba(255, 45, 149, 0.16) !important;
  color: var(--rg-gold-light) !important;
  border-color: var(--rg-magenta) !important;
}

.c-search-form--rainbow,
.m-design__inline-search__search-container {
  background: transparent !important;
}

.btn--black,
.query-submit {
  background: linear-gradient(180deg, var(--rg-violet), #5b3fd6) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(61, 240, 255, 0.3) !important;
}

/* Footer */
.m-footer,
.m-trustpilot-bar,
.m-footer__newsletter-container,
.m-newsletter-signup,
.m-newsletter-signup--dark,
.m-footer-sitemap,
.m-footer-sitemap-container,
.m-footer-links,
.m-footer-section {
  background: #090712 !important;
  color: var(--rg-muted) !important;
  border-color: rgba(232, 200, 114, 0.18) !important;
}

.m-footer {
  border-top: 1px solid var(--rg-line-gold) !important;
  box-shadow: 0 -20px 50px rgba(255, 45, 149, 0.06);
}

.m-footer a,
.m-footer .link__content,
.m-footer__guarantee-link a {
  color: var(--rg-muted) !important;
}

.m-footer a:hover,
.m-footer a:hover .link__content {
  color: var(--rg-cyan) !important;
}

.m-newsletter-signup-header,
.m-footer__guarantee-headline {
  color: var(--rg-gold-light) !important;
}

.m-footer .btn,
.m-newsletter-signup .btn,
.m-newsletter-signup-form__submit {
  background: linear-gradient(90deg, #ff2d95 0%, #8d6bff 58%, #3df0ff 100%) !important;
  color: #140816 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(248, 231, 178, 0.35) !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
}

/* Drawers and dialogs stay readable on the dark skin */
.modal-container,
.modal-content,
.jsHeaderTray,
[class*="tray"],
[class*="drawer"] {
  background-color: var(--rg-panel-solid);
  color: var(--rg-text);
}

@media (max-width: 768px) {
  .vc-header__cta-button {
    padding: 6px 10px !important;
  }

  .m-design__product {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .btn-x {
    min-width: 140px;
    width: calc(50% - 16px);
    padding: 12px 10px;
  }

  .free-shipping strong {
    letter-spacing: 0.08em;
    font-size: 12px;
  }
}
