/* Dewa222 dark-purple theme — html/v55
   Color overrides only. Token names match the repo palette. */

:root,
[data-theme="default"] {
  --dw-bg: #14081f;
  --dw-surface: #25013b;
  --dw-surface-alt: #31104e;
  --dw-purple: #490897;
  --dw-purple-light: #7a3fd1;
  --dw-purple-dark: #2e0563;
  --dw-gold: #ffb514;
  --dw-gold-soft: #dbbc56;
  --dw-text: #f1e9fb;
  --dw-text-muted: #a894c2;
  --dw-border: #3a2354;
  --dw-danger: #b5442e;
  --dw-success: #5f7a3a;
  --dw-on-gold: #14081f;

  --color-primary-100: #f3e9fb !important;
  --color-primary-200: #dcc6f3 !important;
  --color-primary-300: #a87ee0 !important;
  --color-primary-400: var(--dw-purple-light) !important;
  --color-primary-500: var(--dw-purple) !important;
  --color-primary-600: #3d077d !important;
  --color-primary-700: var(--dw-purple-dark) !important;
  --color-primary-800: var(--dw-surface) !important;
  --color-primary-900: var(--dw-bg) !important;
  --color-primary-500-a10: rgba(73, 8, 151, 0.1) !important;
  --color-primary-500-a25: rgba(73, 8, 151, 0.25) !important;
  --color-primary-500-a70: rgba(73, 8, 151, 0.7) !important;
  --color-link-500: var(--dw-gold) !important;
  --color-link-600: #d49410 !important;

  --color-danger-100: #3a1a14 !important;
  --color-danger-200: #5c2a20 !important;
  --color-danger-300: #8a3d2c !important;
  --color-danger-400: #a34a34 !important;
  --color-danger-500: var(--dw-danger) !important;
  --color-danger-600: #8c3422 !important;
  --color-danger-700: #6e291b !important;
  --color-danger-800: #4a1b12 !important;
  --color-danger-900: #2c100b !important;

  --color-success-100: #1c2414 !important;
  --color-success-200: #2c3a1e !important;
  --color-success-300: #44582c !important;
  --color-success-400: #526832 !important;
  --color-success-500: var(--dw-success) !important;
  --color-success-600: #4c632f !important;
  --color-success-700: #3d4f26 !important;
  --color-success-800: #2c3a1c !important;
  --color-success-900: #1c2412 !important;
  --color-success-500-a10: rgba(95, 122, 58, 0.1) !important;

  --color-warning-100: #2e240c !important;
  --color-warning-200: #4a3a12 !important;
  --color-warning-300: #7a6220 !important;
  --color-warning-400: var(--dw-gold-soft) !important;
  --color-warning-500: var(--dw-gold) !important;
  --color-warning-600: #d49410 !important;
  --color-warning-700: #a8740c !important;
  --color-warning-800: #6e4c08 !important;
  --color-warning-900: #3a2804 !important;

  --color-accent-orange-100: #2e240c !important;
  --color-accent-orange-200: #4a3a12 !important;
  --color-accent-orange-300: #7a6220 !important;
  --color-accent-orange-400: var(--dw-gold-soft) !important;
  --color-accent-orange-500: var(--dw-gold) !important;
  --color-accent-orange-600: #d49410 !important;
  --color-accent-orange-700: #a8740c !important;
  --color-accent-orange-800: #6e4c08 !important;
  --color-accent-orange-900: #3a2804 !important;

  --color-neutral-100: var(--dw-bg) !important;
  --color-neutral-200: var(--dw-text-muted) !important;
  --color-neutral-300: var(--dw-text-muted) !important;
  --color-neutral-400: var(--dw-text-muted) !important;
  --color-neutral-500: #c4b0d8 !important;
  --color-neutral-600: var(--dw-text) !important;
  --color-neutral-700: var(--dw-text-muted) !important;
  --color-neutral-800: var(--dw-text) !important;
  --color-neutral-900: var(--dw-text) !important;
  --color-neutral-500-a60: rgba(168, 148, 194, 0.6) !important;
  --color-neutral-800-a20: rgba(37, 1, 59, 0.2) !important;
  --color-neutral-800-a40: rgba(37, 1, 59, 0.4) !important;
  --color-neutral-800-a60: rgba(37, 1, 59, 0.6) !important;
  --color-neutral-800-a80: rgba(37, 1, 59, 0.8) !important;

  --color-white: var(--dw-text) !important;
  --color-white-a04: rgba(241, 233, 251, 0.04) !important;
  --color-white-a10: rgba(241, 233, 251, 0.1) !important;
  --color-white-a20: rgba(241, 233, 251, 0.2) !important;
  --color-white-a40: rgba(241, 233, 251, 0.4) !important;
  --color-white-a50: rgba(241, 233, 251, 0.5) !important;
  --color-white-a60: rgba(241, 233, 251, 0.6) !important;
  --color-white-a70: rgba(241, 233, 251, 0.7) !important;
  --color-white-a80: rgba(241, 233, 251, 0.8) !important;
  --color-white-a90: rgba(241, 233, 251, 0.9) !important;
  --color-black: var(--dw-text) !important;
}

html,
body,
#teepublic,
.main-wrapper,
#content {
  background-color: var(--dw-bg) !important;
  color: var(--dw-text) !important;
}

.vc-header,
.m-footer-sitemap,
.m-explore-nav,
.m-design__admin-nav {
  background-color: var(--dw-surface) !important;
  color: var(--dw-text) !important;
}

hr {
  background-color: var(--dw-border) !important;
}

a,
.link,
.link--default,
.description-content a {
  color: var(--dw-gold) !important;
}

a:hover,
.link:hover,
.description-content a:hover,
a:active,
a:focus {
  color: var(--dw-gold-soft) !important;
}

.teepublicon--blue-default,
.teepublicon--blue-default svg,
.teepublicon--blue-default path,
.teepublicon--primary-400,
.teepublicon--primary-400 svg,
.teepublicon--primary-400 path {
  color: var(--dw-purple-light) !important;
  fill: var(--dw-purple-light) !important;
}

.btn,
.btn-x {
  background: linear-gradient(180deg, #ffe08a 0%, var(--dw-gold) 45%, #d49410 100%) !important;
  color: var(--dw-on-gold) !important;
  border-color: var(--dw-gold) !important;
}

.btn:hover,
.btn-x:hover {
  background: linear-gradient(180deg, var(--dw-purple-light) 0%, var(--dw-purple) 55%, var(--dw-purple-dark) 100%) !important;
  color: var(--dw-gold) !important;
  border-color: var(--dw-purple-light) !important;
}

.btn.btn--no-background,
.vc-header__shop-button,
.vc-header__account-button,
.vc-header__cart-button,
.btn.btn--no-background:hover,
.btn.btn--no-background:focus,
.btn.btn--no-background:active,
.vc-header__shop-button:hover,
.vc-header__account-button:hover,
.vc-header__cart-button:hover {
  background: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--dw-text) !important;
}

.btn--fb,
.btn--fb:hover,
.btn--fb:focus,
.btn--fb:active {
  background: var(--dw-purple) !important;
  color: var(--dw-text) !important;
}

.btn--green,
.btn--green:hover {
  background: var(--dw-success) !important;
  color: var(--dw-text) !important;
}

.m-header__search-submit,
.btn.m-header__search-submit,
.vc-header__cta-button {
  background: var(--dw-purple) !important;
  border-color: var(--dw-purple) !important;
  color: var(--dw-text) !important;
}

.m-header__search-submit:hover,
.vc-header__cta-button:hover {
  background: var(--dw-purple-light) !important;
  border-color: var(--dw-purple-light) !important;
}

h1,
.h__h1--sm,
.m-design__price,
.m-cart-config__select-label,
.radio-selector__select {
  color: var(--dw-gold) !important;
}

.DEWA222-toto-togel-container {
  background: var(--dw-surface) !important;
  border-color: var(--dw-gold) !important;
  box-shadow: 0 0 25px rgba(255, 181, 20, 0.35) !important;
  color: var(--dw-text) !important;
}

.DEWA222-toto-togel-container h2,
.DEWA222-toto-togel-container summary,
.seller-name__detail a {
  color: var(--dw-gold) !important;
  text-shadow: none !important;
}

.DEWA222-toto-togel-container details {
  background: var(--dw-surface-alt) !important;
  border-color: var(--dw-border) !important;
}

.DEWA222-toto-togel-container details:hover {
  box-shadow: 0 0 14px rgba(122, 63, 209, 0.45) !important;
}

.DEWA222-toto-togel-container details p {
  color: var(--dw-text) !important;
}

.DEWA222-toto-togel-container blockquote {
  background: var(--dw-bg) !important;
  border-left-color: var(--dw-gold) !important;
  color: var(--dw-text) !important;
}

.DEWA222-toto-togel-container cite {
  color: var(--dw-gold-soft) !important;
}

.teepublicon-background--facebook,
.teepublicon-background--twitter,
.teepublicon-background--tumblr,
.teepublicon-background--instagram,
.teepublicon-background--twitch,
.teepublicon-background--purple-default,
.btn--fb,
.btn--fb:hover,
.btn--fb:focus,
.btn--fb:active {
  background-color: var(--dw-purple) !important;
}

.teepublicon-background--deviantart,
.teepublicon-background--linktree,
.teepublicon-background--success-green {
  background-color: var(--dw-success) !important;
}

.teepublicon-background--pinterest,
.teepublicon-background--youtube,
.teepublicon-background--reddit,
.teepublicon-background--error-red {
  background-color: var(--dw-danger) !important;
}

.teepublicon-background--blue-default,
.teepublicon-background--warning-yellow {
  background-color: var(--dw-gold) !important;
}

.teepublicon-background--tiktok,
.teepublicon-background--dark-default {
  background-color: var(--dw-bg) !important;
}

.section-container,
.section-2-container,
#site,
.m-design,
.contain,
.overflow-hidden {
  background-color: var(--dw-bg) !important;
  color: var(--dw-text) !important;
}

.form__control,
.form__field--suggestions,
.drawer__wrapper,
.drawer--white,
.drawer__header-container--white,
.body--on-white,
.reveal-modal,
.reveal-nominate-modal,
.modal,
.c-dialog__container,
.mtrl-modal .mtrl-modal-content,
.m-design__inline-search,
.sizechart,
#sizechart,
#garment-modal,
#commission-modal,
.tp-design-tile__menu-dropdown,
.vc-banner--light-default-background,
.btn--white {
  background-color: var(--dw-surface) !important;
  color: var(--dw-text) !important;
}

.reveal-modal p a,
.reveal-modal h2 span a {
  color: var(--dw-gold) !important;
}

.sizechart-holder .sizechart .head,
.sizechart .head {
  background-color: var(--dw-purple) !important;
  color: var(--dw-text) !important;
}

.form__control:focus {
  border-color: var(--dw-purple-light) !important;
}

.notify:before,
.tp-toast-notification__counter {
  background: var(--dw-danger) !important;
}

.m-header__search--animate form:after,
.c-search-form--rainbow,
.additional-main-tag {
  background: linear-gradient(90deg, var(--dw-purple-dark), var(--dw-purple), var(--dw-gold), var(--dw-purple-light)) !important;
}

h2,
h3,
.product-recommended-title,
.mw-review-title,
.testi-title {
  color: var(--dw-gold) !important;
}

p,
.review-text,
.testi-text,
.faq-a,
.faq-answer {
  color: var(--dw-text) !important;
}

.login,
.register,
.login-button,
.register-button,
.btn-main,
.product-recommended__list--item__tag {
  background: linear-gradient(180deg, #ffe08a 0%, var(--dw-gold) 45%, #d49410 100%) !important;
  color: var(--dw-on-gold) !important;
  border-color: var(--dw-gold) !important;
  text-shadow: none !important;
}

.login:hover,
.register:hover,
.btn-main:hover {
  background: linear-gradient(180deg, var(--dw-purple-light) 0%, var(--dw-purple) 55%, var(--dw-purple-dark) 100%) !important;
  color: var(--dw-gold) !important;
  border-color: var(--dw-purple-light) !important;
}

#mw-faq,
#mw-info-box,
.mw-review-box,
.machine,
.product-recommended,
.testi-tentoto-wrap,
.DEWA222-fixed-footer,
.generator-container {
  background: var(--dw-surface) !important;
  color: var(--dw-text) !important;
  border-color: var(--dw-gold) !important;
}

#mw-faq .mw-head,
#mw-info-box .mw-head,
.mw-review-title {
  background: linear-gradient(135deg, var(--dw-purple-dark), var(--dw-purple) 55%, var(--dw-purple-light)) !important;
  color: var(--dw-gold) !important;
}

#mw-faq .faq-q,
#mw-faq .faq-a,
.faq-item,
.faq-question,
.faq-answer,
.review-card,
.product-recommended__list--item-button {
  background: var(--dw-surface-alt) !important;
  color: var(--dw-text) !important;
  border-color: var(--dw-border) !important;
}

#mw-faq .mw-foot,
#mw-info-box .mw-foot,
.mw-footer {
  background: var(--dw-bg) !important;
  color: var(--dw-gold-soft) !important;
}

.review-avatar {
  background: var(--dw-purple) !important;
  color: var(--dw-text) !important;
  border-color: var(--dw-purple-light) !important;
}

.display {
  background: var(--dw-bg) !important;
  border-color: var(--dw-gold) !important;
}

.ball {
  background: radial-gradient(circle at 30% 30%, var(--dw-gold-soft), var(--dw-gold) 45%, #d49410 100%) !important;
  color: var(--dw-on-gold) !important;
  border-color: var(--dw-gold-soft) !important;
}

#generate-btn {
  background: linear-gradient(135deg, var(--dw-purple-dark), var(--dw-gold) 55%, var(--dw-purple)) !important;
  color: var(--dw-on-gold) !important;
  border-color: var(--dw-gold) !important;
}

.star-rating,
.star-rating i,
.testi-name,
.review-name,
.product-recommended__list--item-title,
.product-recommended__list--item-price-sale,
.DEWA222-fixed-footer a {
  color: var(--dw-gold) !important;
}

.testi-avatar {
  border-color: var(--dw-gold) !important;
}

.DEWA222-fixed-footer .tada {
  background: linear-gradient(135deg, var(--dw-purple-dark), var(--dw-gold)) !important;
  border-color: var(--dw-purple-dark) !important;
}

.grad-text,
#mw-info-box .grad-text,
.review-name {
  background-image: linear-gradient(90deg, var(--dw-text), var(--dw-gold)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: var(--dw-gold) !important;
}

#mw-info-box,
#mw-info-box * {
  color: var(--dw-text) !important;
}

#mw-info-box .grad-text,
#mw-info-box .mw-head,
#mw-info-box td:first-child {
  color: var(--dw-gold) !important;
}

.btn--black,
.body--on-dark,
.drawer--dark,
.tool-tiptext,
.tp-tooltip,
.vc-banner--dark-default-background,
.m-footer__newsletter-container,
.m-footer__legal-bar,
.m-also-available-products,
.tp-gifting,
.tp-design-tile--dark,
.select__wrap--dark .select,
#sizechart .sizechart-nav,
.c-link__header,
.m-explore-nav__link:hover,
.m-tray-shop__popular-product:hover,
.m-tray-store-saf__filter:hover,
.m-tray-store-saf__filter.selected,
.m-tray-store-saf__sort-btn:hover,
.m-tray-store-saf__sort-btn.selected {
  background-color: var(--dw-surface) !important;
  color: var(--dw-text) !important;
}

.mw-left.m-design-product-info--product-quality,
.m-design-product-info--product-quality {
  background: var(--dw-surface) !important;
  border-color: var(--dw-gold) !important;
  color: var(--dw-text) !important;
}

.m-design-product-info--product-quality h2,
.m-design-product-info--product-quality h3,
.m-design-product-info--product-quality h4 {
  color: var(--dw-gold) !important;
}

.m-design-product-info--product-quality p,
.m-design-product-info--product-quality .machine,
.m-design-product-info--product-quality .machine h3 {
  color: var(--dw-text) !important;
}

#mw-faq .faq-q,
#mw-faq .faq-q:hover,
#mw-faq .mw-head {
  -webkit-text-fill-color: var(--dw-text) !important;
  color: var(--dw-text) !important;
}

.h--bright,
.h__h2--secondary,
.h__h4,
.link-collection__header,
.m-explore-nav__link,
.m-explore-nav__link.link--default,
.m-explore-nav__container .m-tab-nav__list a,
.m-also-available-products .m-tab-nav__item a,
.m-design__price,
.m-design__price--original,
.m-design__price--regular,
.m-design__price--sale,
.m-design-product-info--faqs .tp-accordion,
.tp-accordion__button,
.tp-text-note,
.tp-text-note__text,
.tp-text-note--on-light,
.tp-text-note--on-light .tp-text-note__text,
.tp-text-note--on-dark .tp-text-note__text,
.tp-text-note--neutral,
.tp-text-note--information,
.tp-label,
.tp-label--neutral,
.tp-label--inactive,
.tp-label--highlight,
.label,
.label--heavy,
.m-sizer__label,
.m-sizer__prompt,
.m-design__purchase-info-licensor,
.m-design__additional-info,
.m-design__additional-info-note,
.text-note,
.m-account__sales-note,
.alert-box--neutral,
.m-trustpilot-bar,
.m-tray-account__header-email,
.m-tray-shop__secondary-action-text,
.m-tray-shop__secondary-action-text p,
.account-earnings__label,
.m-cart-config__color-label,
.m-cart-config__color-name {
  color: var(--dw-text) !important;
  -webkit-text-fill-color: currentColor !important;
}

.vc-pill--on-light,
.tp-text-note--on-light,
.tp-text-note--information,
.tp-text-note--neutral,
.tp-text-note--orange {
  background-color: var(--dw-surface-alt) !important;
  border-color: var(--dw-border) !important;
  --label-background-color: var(--dw-surface-alt);
  --label-border-color: var(--dw-border);
}

.vc-pill--on-light,
.vc-pill--on-light .link__content {
  color: var(--dw-gold) !important;
}

/* Light TeePublic surfaces become Dewa222 cards. Text stays on the light token. */
.modal-content,
.hr--heavy,
.body--on-white,
.tp-datetime-select:focus-visible,.tp-select-wrapper select:focus-visible,.tp-input-field:focus-visible,
.tp-select-wrapper select:focus,
.reveal-modal,.reveal-nominate-modal,.modal,
#commission-modal .modal-container div table .blank,
.sizechart-holder .sizechart,
#garment-modal,
.mtrl-modal,
.form__control,
.form__field--suggestions,
.tp-design-tile__menu-dropdown,
.drawer--light,
.drawer__header-container,
.teepublicon-background--light-default,
.vc-banner--light-default-background,
.vc-count,
.vc-countdown-product-sale .vc-count,
.tp-favorite-button.tp-favorite-button--inactive:focus,
.vc-pill.vc-pill--on-dark:active,
.vc-pill.vc-pill--on-periwinkle:active,
.vc-pill.m-search__tags-unlinkable,
.m-tray-search-sort-filter .drawer__header-container,
.m-search__filter-btn,.m-search__sort-btn,.m-search__safe-search-btn,
.m-search__filter-btn:hover,.m-search__filter-btn:active,.m-search__filter-btn:focus,.m-search__sort-btn:hover,.m-search__sort-btn:active,.m-search__sort-btn:focus,.m-search__safe-search-btn:hover,.m-search__safe-search-btn:active,.m-search__safe-search-btn:focus,
.m-search-sort-filter__safe-search .m-search__safe-search-btn,
#jsAutoCompleteHeader_list,#jsAutoCompleteHome_list,#jsAutoCompleteBrowse_list,
.additional-main-tag__container,
.m-design__inline-search,
.m-polaroids__polaroid {
  background-color: var(--dw-surface) !important;
  color: var(--dw-text) !important;
}

.body--on-admin,
.modal-content,
.modal-head,
.m-design__inline-search {
  background-color: var(--dw-surface) !important;
  color: var(--dw-text) !important;
}

.modal-head {
  background-color: var(--dw-purple) !important;
  color: var(--dw-text) !important;
}

.DEWA222-container,
.DEWA222-container details,
.DEWA222-container blockquote {
  background-color: var(--dw-surface) !important;
  border-color: var(--dw-purple) !important;
  color: var(--dw-text) !important;
}

.DEWA222-container h2,
.DEWA222-container summary,
.DEWA222-container summary::before,
.m-design__price--regular {
  color: var(--dw-gold) !important;
}

.login,
.register,
.login-button,
.register-button,
.btn-x {
  background: linear-gradient(180deg, #ffe08a 0%, var(--dw-gold) 45%, #d49410 100%) !important;
  color: var(--dw-on-gold) !important;
  border-color: var(--dw-gold) !important;
}
