:root,
[data-theme="default"] {
  --casino-void: #4a0008;
  --casino-black: #6b000c;
  --casino-ink: #8a0010;
  --casino-panel: #a80015;
  --casino-raised: #c40019;
  --casino-line: #ffd700;
  --casino-line-strong: #fff099;
  --casino-gold: #ffd700;
  --casino-gold-bright: #ffffff;
  --casino-gold-deep: #ccac00;
  --casino-cream: #ffffff;
  --casino-muted: #ffe680;
  --casino-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
  --font-family-primary: "Outfit", Helvetica, sans-serif;
  --font-family-primary-semibold: "Outfit", Helvetica, sans-serif;
  --font-family-primary-bold: "Outfit", Helvetica, sans-serif;
  --font-family-display: "Cinzel", "Times New Roman", serif;
  --font-family-ornate: "Cinzel Decorative", "Cinzel", serif;
  --color-neutral-100: #6b000c;
  --color-neutral-200: #a80015;
  --color-neutral-300: #d9001b;
  --color-neutral-400: #ffe680;
  --color-neutral-500: #ffd700;
  --color-neutral-600: #cca300;
  --color-neutral-700: #fff099;
  --color-neutral-800: #c40019;
  --color-neutral-900: #ffffff;
  --color-primary-100: #8a0010;
  --color-primary-200: #b30016;
  --color-primary-300: #ffd700;
  --color-primary-400: #ffe033;
  --color-primary-500: #ffd700;
  --color-primary-600: #ffe666;
  --color-primary-700: #fff099;
  --color-primary-800: #fff9cc;
  --color-primary-900: #ffffff;
  --color-primary-500-a10: rgba(255, 215, 0, 0.25);
  --color-primary-500-a25: rgba(255, 215, 0, 0.45);
  --color-primary-500-a70: rgba(255, 215, 0, 0.85);
  --color-link-500: #ffe666;
  --color-link-600: #fff099;
  --color-warning-400: #ffe666;
  --color-warning-500: #ffd700;
}

html {
  color-scheme: dark;
}

body#teepublic.casino-lounge {
  background-color: var(--casino-void);
  background-image:
    radial-gradient(1200px 600px at 50% 0%, #a80015 0%, transparent 80%),
    radial-gradient(800px 500px at 10% 100%, #8a0010 0%, transparent 70%),
    radial-gradient(800px 500px at 90% 100%, #8a0010 0%, transparent 70%),
    linear-gradient(180deg, #6b000c 0%, #330005 100%);
  color: #ffffff;
  font-family: var(--font-family-primary);
}

body#teepublic.casino-lounge::before {
  content: "";
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  opacity: 0.35;
  background-image:
    linear-gradient(rgba(255, 215, 0, 0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 215, 0, 0.2) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(ellipse at center, #000 50%, transparent 90%);
}

body#teepublic.casino-lounge::after {
  content: "";
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  opacity: 0.5;
  background:
    radial-gradient(circle at 20% 30%, rgba(255, 215, 0, 0.25), transparent 15%),
    radial-gradient(circle at 80% 20%, rgba(255, 215, 0, 0.2), transparent 18%),
    radial-gradient(circle at 50% 80%, rgba(255, 215, 0, 0.15), transparent 20%);
}

#site,
.main-wrapper,
#content,
.contain,
.contain--wide-3 {
  position: relative;
  z-index: 1;
  background: transparent;
}

h1,
h2,
h3,
h4,
.h__h1--sm,
.h__h2--secondary,
.h__h4,
.m-design__h2,
.m-newsletter-signup-header,
.m-design__ratings-heading,
.m-design__inline-search__header {
  font-family: var(--font-family-display);
  letter-spacing: 0.08em;
  color: #ffd700;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}

a,
.link,
.link--default,
.link__cta,
.link__cta--on-light,
.link__cta--on-dark {
  color: #ffe666;
  font-weight: 600;
}

a:hover,
.link:hover,
.link--default:hover {
  color: #ffffff;
  text-shadow: 0 0 8px #ffd700;
}

/* Jackpot ticker - Emas Menyala dengan Border Merah */
.m-top-banner {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, #ffd700, #fff099 30%, #ffffff 50%, #fff099 70%, #ffd700);
  border-bottom: 3px solid #8a0010;
  box-shadow: 0 5px 25px rgba(255, 215, 0, 0.6);
}

.m-top-banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: -40%;
  width: 35%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 0, 0, 0.4), transparent);
  animation: casino-shine 2.5s ease-in-out infinite;
  pointer-events: none;
}

.m-top-banner div,
.m-top-banner strong {
  position: relative;
  z-index: 1;
  color: #8a0010;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* Header - Merah Karmin Gelap Tegas */
.vc-header,
.vc-header.jsHead {
  background: linear-gradient(180deg, #8a0010 0%, #4a0008 100%);
  border-bottom: 2px solid #ffd700;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
}

.vc-header svg,
.vc-header path {
  fill: #ffd700;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

.vc-header-logo__image {
  filter: drop-shadow(0 0 12px #ffd700);
}

.vc-header__shop-button-text,
.vc-header__account-button-text,
.vc-header__cart-text {
  color: #ffffff;
  font-weight: 700;
}

.btn.btn--no-background,
.vc-header__shop-button,
.vc-header__account-button,
.vc-header__cart-button {
  background: transparent !important;
  color: #ffffff !important;
}

.vc-header__cta-button,
#create-link {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #ffd700 50%, #ccac00 100%) !important;
  color: #6b000c !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 0 20px #ffd700;
  font-family: var(--font-family-display);
  font-weight: 800;
  letter-spacing: 0.1em;
  border-radius: 999px !important;
}

.vc-header__cta-button .link__content,
#create-link .link__content {
  color: #6b000c !important;
}

.vc-header__cta-button:hover,
#create-link:hover {
  transform: scale(1.05);
  box-shadow: 0 0 35px #ffffff;
}

.m-header__search-field,
.form__control,
.tp-input-field,
.tp-input-field--text,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="search"] {
  background: #330005 !important;
  color: #ffffff !important;
  border: 2px solid #ffd700 !important;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.8);
}

.m-header__search-field-placeholder,
.m-header__search-field-placeholder p {
  color: #ffe680 !important;
}

.m-header__search-submit {
  background: linear-gradient(180deg, #ffd700, #ccac00) !important;
}

/* Category Nav Chips */
.m-explore-nav,
.m-explore-nav__container,
.m-tab-nav {
  background: #4a0008;
  border-bottom: 2px solid #ffd700;
}

.m-explore-nav__container .m-tab-nav__list a,
.m-tab-nav__item a {
  color: #ffe680 !important;
  letter-spacing: 0.08em;
  font-weight: 700;
  text-transform: uppercase;
}

.m-explore-nav__container .m-tab-nav__item--active a,
.m-tab-nav__item a:hover {
  color: #ffffff !important;
  text-shadow: 0 0 10px #ffd700;
}

.m-explore-nav__cta,
.m-explore-nav__link {
  background: linear-gradient(180deg, #8a0010, #4a0008);
  border: 1px solid #ffd700;
  border-radius: 999px;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

.m-explore-nav__cta .link__content,
.m-explore-nav__link .link__content {
  color: #ffffff !important;
}

.m-explore-nav__link:hover,
.m-explore-nav__cta:hover {
  background: #ffd700;
  color: #6b000c !important;
  border-color: #ffffff;
  box-shadow: 0 0 20px #ffd700;
  transform: translateY(-2px);
}

.m-explore-nav__link:hover .link__content,
.m-explore-nav__cta:hover .link__content {
  color: #6b000c !important;
}

/* VIP Stage - Kartu Produk Utama Merah Cerah dengan Border Emas Tebal */
.m-design,
.m-design.jsPdpDesign {
  position: relative;
  margin: 28px auto 40px;
  padding: 28px 18px 36px;
  background: linear-gradient(180deg, #8a0010 0%, #4a0008 100%);
  border: 3px solid #ffd700;
  border-radius: 28px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.9), inset 0 0 20px rgba(255, 215, 0, 0.3);
}

.m-design.jsPdpDesign::before,
.m-design.jsPdpDesign::after {
  content: "";
  position: absolute;
  width: 50px;
  height: 50px;
  pointer-events: none;
  border: 3px solid #ffffff;
  z-index: 2;
}

.m-design.jsPdpDesign::before {
  top: 10px;
  left: 10px;
  border-right: 0;
  border-bottom: 0;
  border-top-left-radius: 18px;
}

.m-design.jsPdpDesign::after {
  right: 10px;
  bottom: 10px;
  border-left: 0;
  border-top: 0;
  border-bottom-right-radius: 18px;
}

.m-design__content,
.m-design__product {
  background: transparent;
  color: #ffffff;
}

.m-design-details__title h1,
.h__h1--sm {
  font-family: var(--font-family-ornate);
  color: #ffffff;
  text-shadow: 0 0 20px #ffd700, 0 4px 8px #000000;
  line-height: 1.25;
}

.m-design-details__title h1::before {
  content: "✦  ROYAL VIP LOUNGE  ✦";
  display: block;
  margin-bottom: 10px;
  font-family: var(--font-family-display);
  font-size: 0.8rem;
  letter-spacing: 0.3em;
  color: #ffd700;
  text-shadow: none;
  font-weight: 900;
}

.m-design__prices {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-top: 10px;
  padding: 10px 18px;
  width: fit-content;
  background: #330005;
  border: 2px solid #ffd700;
  border-radius: 999px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
}

.m-design__price,
.m-design__price--sale {
  color: #ffd700 !important;
  font-family: var(--font-family-ornate);
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.8);
}

.m-design__price--regular {
  color: #ffe680 !important;
  text-decoration: line-through;
}

.m-product-preview,
.m-product-preview__gallery,
.m-product-preview__glider,
.m-product-preview__glider-img {
  background: #330005;
  border-radius: 22px;
}

.m-product-preview__gallery,
.mockup.jsProductMainImage,
.preview.jsProductMainImage {
  border: 2px solid #ffd700;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
}

.mockup.jsProductMainImage,
.preview.jsProductMainImage {
  border-radius: 18px;
}

.m-product-preview__thumb {
  border: 2px solid #8a0010 !important;
  background: #4a0008;
  border-radius: 12px;
  overflow: hidden;
}

.m-product-preview__thumb.on,
.m-product-preview__thumb:hover {
  border-color: #ffd700 !important;
  box-shadow: 0 0 15px #ffd700;
}

.glide__arrow,
.m-product-preview__glider-ctrl {
  background: #ffd700 !important;
  color: #6b000c !important;
  border: 2px solid #ffffff !important;
}

.tp-favorite-button,
.btn--white {
  background: #4a0008 !important;
  border: 2px solid #ffd700 !important;
  color: #ffffff !important;
}

.m-cart-config__color-label,
.m-cart-config__select-label,
.m-design-details__description-title {
  color: #ffd700 !important;
  font-family: var(--font-family-display);
  font-weight: bold;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Radio Selector Chips */
.radio-selector__radio ~ .radio-selector__select {
  background: #4a0008;
  border: 2px solid #8a0010 !important;
  color: #ffffff !important;
  border-radius: 16px;
  font-weight: 700;
}

.radio-selector__radio:hover ~ .radio-selector__select {
  border-color: #ffd700 !important;
  color: #ffd700 !important;
}

.radio-selector__radio:checked ~ .radio-selector__select {
  background: linear-gradient(180deg, #ffffff, #ffd700, #ccac00) !important;
  border-color: #ffffff !important;
  color: #6b000c !important;
  font-weight: 900;
  box-shadow: 0 0 20px #ffd700;
}

.quantity-stepper__container {
  border: 2px solid #ffd700;
  background: #330005;
  border-radius: 14px;
}

.quantity-stepper__controls,
.btn--segmented,
.btn--segmented--neutral {
  background: #6b000c !important;
  color: #ffd700 !important;
  border-color: #ffd700 !important;
}

/* CTA - Tombol Cart Emas Menyala */
.m-design__cart-add,
.btn.btn--big.btn--full,
.btn--black,
.query-submit {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #ffd700 40%, #b39200 100%) !important;
  color: #500009 !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 10px 30px rgba(255, 215, 0, 0.6);
  font-family: var(--font-family-display);
  font-weight: 900;
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  border-radius: 14px !important;
}

.m-design__cart-add::after,
.btn-x::after,
#create-link::after {
  content: "";
  position: absolute;
  top: 0;
  left: -40%;
  width: 32%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8), transparent);
  animation: casino-shine 2s ease-in-out infinite;
  pointer-events: none;
}

.m-design__cart-add:hover,
.btn.btn--big.btn--full:hover,
.btn--black:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(255, 255, 255, 0.8);
}

.btn-x {
  position: relative;
  overflow: hidden;
  display: inline-block;
  min-width: 210px;
  text-align: center;
  padding: 15px 28px;
  margin: 6px 6px 6px 0;
  background: linear-gradient(180deg, #ffffff 0%, #ffd700 50%, #ccac00 100%);
  color: #500009 !important;
  font-family: var(--font-family-display);
  font-weight: 900;
  letter-spacing: 0.12em;
  border: 2px solid #ffffff;
  border-radius: 14px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(255, 215, 0, 0.5);
  cursor: pointer;
}

.btn-x:nth-of-type(2) {
  background: #4a0008;
  color: #ffd700 !important;
  border: 2px solid #ffd700;
}

.btn-x:hover {
  transform: translateY(-2px);
  filter: brightness(1.15);
}

.cqd-banner__banner,
.tp-text-note,
.tp-text-note--information,
.tp-text-note--on-light {
  background: #330005 !important;
  border: 2px solid #ffd700 !important;
  color: #ffffff !important;
  border-radius: 14px;
}

.guarantee,
.m-design__guarantee {
  background: #4a0008;
  border: 2px solid #ffd700;
  border-radius: 18px;
  color: #ffffff;
}

.m-design-details__description,
.m-design-details__description-text,
.m-design-details__description a {
  color: #ffe680;
}

/* Ratings */
.m-design__ratings {
  background: #330005 !important;
  border-top: 2px solid #ffd700;
  border-bottom: 2px solid #ffd700;
}

.m-design__ratings-heading,
.m-design__ratings-service-name,
.m-design__ratings-details {
  color: #ffd700 !important;
}

.m-design__ratings-service {
  background: #6b000c;
  border: 2px solid #ffd700;
  border-radius: 18px;
  padding: 18px 22px;
}

/* Search Strip */
.m-design__inline-search {
  background: #4a0008;
  color: #ffffff;
}

.c-search-form,
.c-search-form--rainbow {
  background: #330005;
  border: 2px solid #ffd700;
  border-radius: 18px;
  padding: 8px;
}

/* FAQ */
.m-design-product-info {
  background: #330005;
  color: #ffffff;
}

.m-design-product-info h4,
.tp-accordion__button-text {
  color: #ffd700 !important;
  font-family: var(--font-family-display);
  font-weight: bold;
}

.m-design-product-info p,
.tp-accordion__content,
.tp-accordion__content p {
  color: #ffe680 !important;
}

.tp-accordion,
.tp-accordion__button {
  background: #6b000c !important;
  border: 2px solid #ffd700 !important;
  color: #ffffff !important;
  border-radius: 14px;
}

.tp-accordion__content {
  background: #4a0008 !important;
}

/* Tags & Footer */
.m-design__additional-info-container,
.m-product-options__social {
  background: #330005;
  color: #ffffff;
}

.vc-pill,
.vc-pill--on-light {
  background: #6b000c !important;
  border: 2px solid #ffd700 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: bold;
}

.vc-pill .link__content {
  color: #ffffff !important;
}

.m-footer,
.m-footer-sitemap,
.m-newsletter-signup,
.tp-newsletter-signup--dark,
.m-trustpilot-bar {
  background: #240004 !important;
  color: #ffffff !important;
  border-top: 3px solid #ffd700;
}

.m-newsletter-signup-form__submit {
  background: linear-gradient(180deg, #ffffff, #ffd700) !important;
  color: #6b000c !important;
  border: 2px solid #ffffff !important;
  font-weight: 900;
}

.drawer__wrapper,
.drawer--light,
.drawer--white,
.m-tray,
.jsHeaderTray,
.modal-container,
.modal-content {
  background: #4a0008 !important;
  color: #ffffff !important;
  border: 2px solid #ffd700 !important;
}

.teepublicon svg,
.teepublicon path {
  fill: #ffd700;
}

- {
  scrollbar-color: #ffd700 #4a0008;
}

@keyframes casino-shine {
  0% {
    transform: translateX(-30%) skewX(-18deg);
  }
  100% {
    transform: translateX(380%) skewX(-18deg);
  }
}

@media (max-width: 767px) {
  .m-design.jsPdpDesign {
    margin: 16px 8px 28px;
    padding: 20px 12px 28px;
    border-radius: 20px;
  }

  .btn-x {
    min-width: 100%;
    margin: 6px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .m-top-banner::after,
  .m-design__cart-add::after,
  .btn-x::after,
  #create-link::after {
    animation: none;
  }
}