/* Legacy page surfaces participate in the same Settings-controlled palette. */
:root {
  color-scheme: light;
}
.theme-dark {
  color-scheme: dark;
}
.theme-light {
  color-scheme: light;
}
.ps-theme-page {
  color: var(--ps-text-primary);
  background: var(--ps-bg-base);
  min-width: 0;
}
.theme-dark :is(.ps-theme-page, .ps-themed-dialog) {
  --card: 0 0% 9%;
  --card-foreground: 0 0% 98%;
  --popover: 0 0% 9%;
  --popover-foreground: 0 0% 98%;
  --muted: 0 0% 14%;
  --muted-foreground: 0 0% 70%;
  --border: 0 0% 20%;
  --input: 0 0% 20%;
}
.ps-page-header {
  background: linear-gradient(
    180deg,
    var(--ps-primary-light),
    var(--ps-bg-elevated) 50%,
    var(--ps-bg-base)
  );
}
.ps-page-surface {
  background: var(--ps-bg-surface);
  color: var(--ps-text-primary);
  border-color: var(--ps-border);
}
.ps-theme-panel {
  background: linear-gradient(
    145deg,
    var(--ps-bg-elevated),
    var(--ps-bg-surface)
  );
  color: var(--ps-text-primary);
  border: 1px solid var(--ps-border);
}
.ps-header-bar {
  background: var(--ps-glass-bg);
  border-color: var(--ps-border);
}
.ps-footer-fade {
  background: linear-gradient(
    to top,
    var(--ps-bg-base),
    var(--ps-bg-base),
    transparent
  );
}
.ps-theme-page .ps-heading {
  color: var(--ps-text-primary);
}
.ps-theme-page .ps-secondary {
  color: var(--ps-text-secondary);
}
.ps-theme-page .ps-accent {
  color: var(--ps-text-accent);
}
.ps-home-tier {
  color: var(--ps-gold);
  border: 1px solid var(--ps-gold);
  background: var(--ps-bg-surface);
}
.ps-home-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ps-home-tip-row {
  /* display: flex; */
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.ps-home-feature {
  background: var(--ps-primary-light);
  border: 2px solid var(--ps-primary);
  color: var(--ps-text-accent);
}
.ps-home-cta {
  background: linear-gradient(100deg, #047857, #065f46) !important;
  color: #fff !important;
}
.ps-home-buy {
  background: #92400e !important;
  color: #fff !important;
}
.ps-on-color,
.ps-on-color .text-white {
  color: #fff !important;
}

/* Only legacy page scopes: never restyle imagery, video players, tee swatches or brand course cards. */
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(
    .bg-gray-900,
    [class~="bg-gray-900/50"],
    .bg-gray-800,
    [class~="bg-gray-800/50"],
    [class~="bg-gray-800/40"],
    [class~="bg-gray-800/60"],
    .bg-gray-700
  ):not(.ps-fixed-contrast, .ps-fixed-contrast *) {
  background-color: var(--ps-bg-elevated);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(.border-gray-800, .border-gray-700, .border-gray-600):not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  border-color: var(--ps-border-light);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(
    .text-gray-200,
    .text-gray-300,
    .text-gray-400,
    .text-gray-500,
    .text-gray-600,
    .text-gray-700
  ):not(.ps-fixed-contrast, .ps-fixed-contrast *) {
  color: var(--ps-text-secondary);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(.text-emerald-400, .text-green-400, .text-green-300):not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  color: #047857;
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(.text-amber-400, .text-yellow-400, .text-amber-500, .text-yellow-500):not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  color: #92400e;
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(.text-blue-400, .text-cyan-400):not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  color: #0369a1;
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(.text-pink-400, .text-purple-400):not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  color: #a21caf;
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  [class~="from-gray-900"]:not(.ps-fixed-contrast, .ps-fixed-contrast *) {
  --tw-gradient-from: var(--ps-bg-elevated);
  --tw-gradient-to: var(--ps-bg-surface);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  [class~="to-gray-800"]:not(.ps-fixed-contrast, .ps-fixed-contrast *) {
  --tw-gradient-to: var(--ps-bg-surface);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  [class~="to-gray-900"]:not(.ps-fixed-contrast, .ps-fixed-contrast *) {
  --tw-gradient-to: var(--ps-bg-elevated);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  [class~="hover:bg-gray-800"]:hover:not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  background-color: var(--ps-bg-hover);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  [class~="hover:bg-gray-700"]:hover:not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  background-color: var(--ps-bg-hover);
}
.theme-light
  :is(.ps-theme-page, .ps-themed-dialog)
  :is(.bg-gradient-to-br, .bg-gradient-to-r)
  .text-white:not(.ps-fixed-contrast, .ps-fixed-contrast *) {
  color: var(--ps-text-primary) !important;
}
.theme-light .ps-theme-page :is(.ps-home-cta, .ps-home-buy) {
  color: #fff !important;
}
.theme-light .ps-theme-page .ps-gold-balance .text-white {
  color: #422006 !important;
}

/* Menus use bright surfaces in Light; decorative dark cards retain explicit contrast. */
.theme-light .carousel-action-card {
  background: linear-gradient(
    145deg,
    var(--ps-bg-surface),
    var(--ps-primary-light)
  ) !important;
}
.theme-light .carousel-action-card .text-white {
  color: var(--ps-text-primary) !important;
}
.theme-light .carousel-action-card .text-gray-300 {
  color: var(--ps-text-secondary);
}
.theme-light .carousel-action-card [class~="bg-black/30"] {
  background: var(--ps-primary-light);
}
.theme-light .carousel-action-card :is(.text-emerald-400, .text-green-400) {
  color: #047857;
}
.theme-light .carousel-action-card :is(.text-amber-400, .text-orange-400) {
  color: #92400e;
}
.theme-light .carousel-action-card .text-purple-400 {
  color: #7e22ce;
}
.theme-light .carousel-action-card .text-cyan-400 {
  color: #0e7490;
}
.theme-light .carousel-action-card .text-pink-400 {
  color: #be185d;
}
.theme-light .carousel-action-card .text-blue-400 {
  color: #1d4ed8;
}

/* Original blanket text-white override must not darken labels on fixed dark/media surfaces. */
.ps-fixed-contrast.text-white,
.ps-fixed-contrast .text-white {
  color: #fff !important;
}
.ps-fixed-contrast .text-gray-300 {
  color: #d1d5db !important;
}
.ps-fixed-contrast .text-gray-400 {
  color: #9ca3af !important;
}
.ps-fixed-contrast .text-emerald-400 {
  color: #34d399 !important;
}
.ps-fixed-contrast .text-amber-400 {
  color: #fbbf24 !important;
}
.theme-light .ps-gold-balance .text-white {
  color: #422006 !important;
}
.theme-light .ps-gold-balance .text-amber-100 {
  color: #422006 !important;
}
.theme-light
  .ps-theme-page
  :is(
    [class~="bg-[#0A0A0A]"],
    [class~="bg-[#121212]"],
    [class~="bg-[#1A1A1A]"]
  ):not(.ps-fixed-contrast, .ps-fixed-contrast *) {
  background-color: var(--ps-bg-surface);
  border-color: var(--ps-border);
}
.theme-light .ps-theme-page [class~="bg-[#007AFF]"] {
  background-color: #0369a1;
  color: #fff !important;
}
.theme-light
  .ps-theme-page
  :is([class~="border-white/10"], [class~="border-white/20"]) {
  border-color: var(--ps-border);
}
.theme-light .ps-dashboard-actions > button {
  background: var(--ps-bg-surface) !important;
  border-color: var(--ps-border) !important;
  box-shadow: 0 2px 8px #0000000a !important;
}
.theme-light .ps-dashboard-actions > button h3 {
  color: var(--ps-text-primary) !important;
}
.theme-light .ps-dashboard-actions > button p {
  color: var(--ps-text-secondary) !important;
}
.theme-light .ps-dashboard-actions > button svg {
  color: var(--ps-text-accent) !important;
  filter: none;
}
.theme-light .ps-dashboard-actions > button [class*="rounded-full"] {
  background: var(--ps-primary-light);
}
.ps-wallet-page .bg-white {
  background-color: var(--ps-bg-surface);
}
.ps-wallet-page :is(.bg-gray-50, .bg-gray-100, .bg-gray-200) {
  background-color: var(--ps-bg-elevated);
}
.ps-wallet-page :is(.text-gray-900, .text-gray-800) {
  color: var(--ps-text-primary);
}
.ps-wallet-page
  :is(.text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400) {
  color: var(--ps-text-secondary);
}
.ps-wallet-page :is(.border-gray-100, .border-gray-200) {
  border-color: var(--ps-border);
}
.ps-wallet-page .bg-emerald-50 {
  background: var(--ps-primary-light);
}
.ps-wallet-page .text-emerald-700 {
  color: var(--ps-text-accent);
}
.ps-wallet-page .bg-amber-50 {
  background: var(--ps-gold-bg);
}
.ps-wallet-page .text-amber-700 {
  color: var(--ps-gold);
}
.ps-wallet-page .bg-blue-50 {
  background: var(--ps-blue-bg);
}
.ps-wallet-page [class~="hover:bg-gray-50"]:hover {
  background-color: var(--ps-bg-hover);
}
.ps-wallet-page [class~="hover:bg-gray-100"]:hover {
  background-color: var(--ps-bg-hover);
}
.ps-theme-page
  :is(.text-stone-900, .text-stone-800):not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  color: var(--ps-text-primary);
}
.ps-theme-page
  :is(.text-stone-700, .text-stone-600, .text-stone-500):not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  color: var(--ps-text-secondary);
}
.theme-dark
  .ps-theme-page
  :is(div, input, select, button).bg-white:not(
    .ps-fixed-contrast,
    .ps-fixed-contrast *
  ) {
  background-color: var(--ps-bg-surface);
}
.theme-dark .ps-theme-page :is(.border-stone-200, .border-stone-300) {
  border-color: var(--ps-border);
}
.theme-dark .ps-wallet-page .text-emerald-700 {
  color: #4ade80;
}
.theme-dark .ps-wallet-page .text-amber-700 {
  color: #fbbf24;
}
.theme-dark .ps-wallet-page .bg-purple-50 {
  background: var(--ps-purple-bg);
}
