/* Customer page design system aligned with homepage theme and typography. */
body.tf-site-page {
 --primary-black:#000000!important; --secondary-black:#000000!important; --tertiary-black:#000000!important;
 --surface:#000000!important; --white:#000000!important; --light-bg:#000000!important;
 --accent-gold:#ffd700!important; --bright-gold:#ffd700!important; --gold-hover:#ffe234!important;
 --text-primary:#ffffff!important; --text-light:#ffffff!important; --text-secondary:#a1a1aa!important;
 --text-dark:#ffffff!important; --text-dark-secondary:#a1a1aa!important; --text-muted:#71717a!important;
 --border:rgba(255,255,255,0.08)!important; --border-light:rgba(255,255,255,0.08)!important;
 --shadow-soft:0 4px 20px rgba(0,0,0,0.4)!important; --shadow-glow:none!important;
 background:#000000!important; background-image:none!important; color:#f4f4f5; font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','DM Sans',system-ui,sans-serif!important;
 -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; --announcement-height:32px; --announcement-height-mobile:32px;
}
.tf-site-page :is(button,input,select,textarea) { font-family:inherit!important; }
.tf-site-page .animated-bg { display:none; }
.tf-site-page main { isolation:isolate; }
.tf-site-page main :is(h1,h2,h3,h4) { color:#ffffff; text-wrap:balance; font-weight:350!important; letter-spacing:-.03em!important; line-height:1.14!important; }
.tf-site-page main h1 { font-size:clamp(34px,4.5vw,60px)!important; font-weight:350!important; letter-spacing:-.035em!important; }
.tf-site-page main h2 { font-size:clamp(24px,2.8vw,38px)!important; font-weight:350!important; letter-spacing:-.025em!important; }
.tf-site-page main h3 { font-size:clamp(18px,1.8vw,24px)!important; font-weight:350!important; letter-spacing:-.015em!important; }
.tf-site-page main h4 { font-size:16px!important; font-weight:400!important; }
.tf-site-page main :is(p,li) { line-height:1.68; color:#a1a1aa; font-size:15px; }
.tf-site-page main :is(.font-bold,.font-extrabold,.font-black,.font-semibold,strong,b) { font-weight:600; color:#ffffff; }
.tf-site-page main :is(.text-primary,.text-secondary,.text-gray-900,.text-gray-800,.text-gray-700) { color:#ffffff!important; }
.tf-site-page main .text-black { color:#000000!important; }
.tf-site-page main :is(.text-gray-600,.text-gray-500,.text-muted) { color:#a1a1aa!important; }
.tf-site-page main :is(.text-accent,.text-yellow-400,.text-yellow-500,.text-yellow-600,.text-yellow-700) { color:#ffd700!important; }

/* Universal Yellow Card Strict Black Content Rules */
.tf-site-page :where([class*="bg-[#ffd700]"], .bg-[#ffd700], .need-card, .tf-plan, .tf-point-card, .tf-branch-card, .tf-location-card, .tf-page-band, .tf-auto-renew-card, .account-intro, #active-membership-status-card, [style*="background:#ffd700"], [style*="background: #ffd700"]) {
 color:#000000!important;
}
.tf-site-page :where([class*="bg-[#ffd700]"], .bg-[#ffd700], .need-card, .tf-plan, .tf-point-card, .tf-branch-card, .tf-location-card, .tf-page-band, .tf-auto-renew-card, .account-intro, #active-membership-status-card, [style*="background:#ffd700"], [style*="background: #ffd700"]) :where(h1,h2,h3,h4,h5,h6) {
 color:#000000!important; -webkit-text-fill-color:#000000!important;
}
.tf-site-page :where([class*="bg-[#ffd700]"], .bg-[#ffd700], .need-card, .tf-plan, .tf-point-card, .tf-branch-card, .tf-location-card, .tf-page-band, .tf-auto-renew-card, .account-intro, #active-membership-status-card, [style*="background:#ffd700"], [style*="background: #ffd700"]) :where(p,span:not([class*="bg-black"]):not([class*="bg-[#111"]):not([class*="bg-[#1c1c1c]"]):not([class*="bg-zinc"]):not([class*="text-[#ffd700]"]):not([class*="text-yellow"]),li,div:not([class*="bg-black"]):not([class*="bg-[#111"]):not([class*="bg-[#1c1c1c]"]):not([class*="bg-zinc"]):not([class*="bg-white"]):not([class*="bg-emerald"]),label,small,b,strong,address,dl,dt,dd,.need-meta,.need-label) {
 color:#000000!important;
}
.tf-site-page :where([class*="bg-[#ffd700]"], .bg-[#ffd700], .need-card, .tf-plan, .tf-point-card, .tf-branch-card, .tf-location-card, .tf-page-band, .tf-auto-renew-card, .account-intro, #active-membership-status-card, [style*="background:#ffd700"], [style*="background: #ffd700"]) :where(.button,a.button,.tf-plan-cta,.tf-page-button:not(.secondary),button:not(.secondary):not([class*="border"]):not([class*="bg-transparent"])) {
 background:#000000!important; color:#ffd700!important; border:none!important;
}
.tf-site-page :is([class*="bg-[#ffd700]"], .bg-[#ffd700]) a[class*="border"] {
 border-color:#000000!important; color:#000000!important;
}
.tf-site-page :is([class*="bg-[#ffd700]"], .bg-[#ffd700]) a[class*="border"]:hover {
 background:#000000!important; color:#ffd700!important;
}

.tf-site-page main :is(.bg-white,.bg-gray-50,.bg-gray-100,.bg-secondary,.profile-section) { background:#000000!important; background-image:none!important; }
.tf-site-page main section:is(.bg-gray-50,.bg-gray-100) { background:#000000!important; background-image:none!important; }
.tf-site-page main section[class*="bg-[#f8f9fa]"] { background:#000000!important; background-image:none!important; }
.tf-site-page main :is(.trainer-card,.class-card) :is(.text-gray-400,.text-gray-500,.text-gray-600) { color:#a1a1aa!important; }
.tf-site-page main :is(.magic-card,.profile-card,.order-card,.trainer-card,.auth-card,.offer-card,.lead-panel,.feature-card,.membership-card,.equipment-card,.facility-card,.review-card) { background:#000000!important; background-image:none!important; border:1px solid rgba(255,255,255,0.12)!important; border-radius:18px!important; box-shadow:0 8px 25px rgba(0,0,0,0.4)!important; }
.tf-site-page main :is(.shadow-lg,.shadow-xl,.shadow-2xl) { box-shadow:0 12px 35px rgba(0,0,0,0.5)!important; }
.tf-site-page main :is(.border-gray-200,.border-gray-300,.border-gray-100) { border-color:rgba(255,255,255,0.08)!important; }
.tf-site-page main :is(.bg-gradient-to-r,.bg-gradient-to-br,.bg-gradient-to-b)[class*="from-yellow"] { background:#ffd700!important; color:#0a0a0a!important; }
.tf-site-page main :is(.btn-primary,.btn-shimmer,.auth-btn,.offer-btn-primary,.lead-submit,button[type="submit"],.bg-yellow-500,.bg-yellow-600) {
 background:#ffd700!important; color:#0a0a0a!important; border:none!important; box-shadow:0 4px 18px rgba(255,215,0,0.25)!important; font-weight:700!important; letter-spacing:0.02em!important;
 border-radius:99px!important; min-height:44px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none!important; transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease,background-color .25s ease!important;
}
.tf-site-page main :is(.btn-primary,.btn-shimmer,.auth-btn):hover { transform:translateY(-2px)!important; box-shadow:0 8px 25px rgba(255,215,0,0.4)!important; color:#0a0a0a!important; background:#ffe234!important; text-decoration:none!important; }
.tf-site-page main :is(.btn-primary,.btn-shimmer,.auth-btn)::before,.tf-site-page main .btn-shimmer::after { display:none!important; }
.tf-site-page main :is(.btn-secondary,.auth-tab,.day-tab,.tab-button) { box-shadow:none!important; border-color:rgba(255,255,255,0.12); font-weight:500!important; color:#ffffff; border-radius:99px!important; }
.tf-site-page main :is(.auth-tab[aria-selected="true"],.day-tab.active,.tab-button.active) { color:#ffd700!important; background:#1c1c1c!important; border-color:#ffd700!important; }
.tf-site-page main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { background:#141514!important; color:#ffffff!important; border:1px solid rgba(255,255,255,0.1)!important; border-radius:12px; }
.tf-site-page main input::placeholder,.tf-site-page main textarea::placeholder { color:#71717a; }
.tf-site-page main :is(input[type="checkbox"],input[type="radio"]) { accent-color:#ffd700; }
.tf-site-page main :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #ffd700; outline-offset:3px; }
.tf-site-page main button:disabled { opacity:.45; cursor:not-allowed; }
.tf-site-page main :is(.auth-wrap,.profile-section) { background:#000000!important; }
.tf-site-page main .auth-card { width:min(460px,100%); padding:36px!important; border-radius:20px!important; }
.tf-site-page main .auth-title { font-size:32px!important; font-weight:500!important; letter-spacing:-.03em!important; }
.tf-site-page main :is(.auth-subtitle,.auth-label,.auth-hint,.auth-foot) { color:#a1a1aa!important; }
.tf-site-page main .auth-link { color:#ffd700!important; font-weight:500; }
.tf-site-page main .auth-input-group__prefix { background:#000000!important; color:#a1a1aa!important; border-color:rgba(255,255,255,0.1)!important; }
.tf-site-page main .profile-container { max-width:1280px; }
.tf-site-page main .offer-page { background:#000000!important; }
.tf-site-page main :is(.offer-badge,.difficulty-beginner,.difficulty-intermediate,.difficulty-advanced,.difficulty-all_levels) { background:#000000!important; color:#ffd700!important; box-shadow:none!important; border-radius:99px!important; border:1px solid rgba(255,255,255,0.1)!important; }
.tf-site-page main .time-indicator::before { background:#ffd700!important; box-shadow:none!important; }
.tf-site-page .announcement-bar { background:#000000!important; border:0!important; border-bottom:1px solid rgba(255,255,255,0.08)!important; box-shadow:none!important; }
.tf-site-page .announcement-bar__text { color:#d4d4d8!important; font-weight:400!important; letter-spacing:0!important; text-transform:none!important; }
.tf-site-page .announcement-bar__item::before,.tf-site-page .announcement-bar__item::after { display:none!important; }
.tf-site-page .footer.apple-footer { background:#000000!important; box-shadow:none!important; border-top:1px solid rgba(255,255,255,0.08); padding:48px 32px 24px; }
.tf-site-page .footer-bg-watermark,.tf-site-page .pulse-indicator { display:none!important; }
.tf-site-page .footer-col-title { font-size:13px!important; font-weight:500!important; letter-spacing:0!important; text-transform:none!important; color:#e4e4e7!important; }
.tf-site-page .footer-link { color:#a1a1aa!important; font-size:13px!important; font-weight:400!important; }
.tf-site-page .footer-link:hover { color:#ffd700!important; transform:none!important; }
.tf-site-page .footer-dispatch-pill { background:none!important; border:0!important; box-shadow:none!important; font-weight:400!important; }
.tf-site-page .footer-brand-name { font-weight:500!important; letter-spacing:0!important; }
.tf-site-page .footer-brand-symbol { background:#ffd700!important; color:#171b12!important; box-shadow:none!important; }
/* Policy pages: Signature Total Fitness proper yellow card and pure black text */
.tf-site-page .tf-policy { padding:56px 24px!important; background:#000000!important; min-height:auto!important; }
.tf-policy > div { max-width:880px!important; }
.tf-policy h1 { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","DM Sans",system-ui,sans-serif!important; font-size:clamp(32px,4vw,52px)!important; font-weight:400!important; letter-spacing:-.035em!important; color:#ffffff!important; -webkit-text-fill-color:#ffffff!important; }
.tf-policy h1 span { color:#ffd700!important; -webkit-text-fill-color:#ffd700!important; font-weight:inherit!important; }
.tf-policy :is(.text-center p, [style*="text-align: center"] p) { color:#a1a1aa!important; -webkit-text-fill-color:#a1a1aa!important; font-size:14px!important; font-weight:400!important; letter-spacing:-.01em!important; }

/* The Policy Card: Signature Proper Yellow Card */
.tf-policy article,
.tf-policy-content,
.tf-site-page .tf-policy-content {
  background:#ffd700!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  border:none!important;
  border-radius:28px!important;
  box-shadow:0 24px 60px rgba(0,0,0,0.45), 0 0 40px rgba(255,215,0,0.18)!important;
  padding:clamp(32px,5vw,56px)!important;
  position:relative!important;
}

/* Headings inside yellow policy card: Apple light weight, pure black text & numbers, crisp thin dividers */
.tf-policy-content :is(h2,h3,h4,h5,h6) {
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","DM Sans",system-ui,sans-serif!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  letter-spacing:-.025em!important;
}
.tf-policy-content h2 {
  font-size:clamp(20px,2.5vw,25px)!important;
  font-weight:400!important;
  margin-top:38px!important;
  margin-bottom:16px!important;
  padding-bottom:12px!important;
  border-bottom:1.5px solid rgba(0,0,0,0.14)!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.tf-policy-content section:first-child h2,
.tf-policy-content > h2:first-child {
  margin-top:0!important;
}
.tf-policy-content h2 :is(span, strong, b) {
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  font-weight:600!important;
}
.tf-policy-content h3 {
  font-size:17px!important;
  font-weight:500!important;
  margin-top:24px!important;
  margin-bottom:10px!important;
  border-bottom:none!important;
}

/* Body copy, lists, bold text, numbers: crisp solid black */
.tf-policy-content :is(p,li) {
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","DM Sans",system-ui,sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.75!important;
}
.tf-policy-content :is(strong,b) {
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  font-weight:600!important;
}
.tf-policy-content ul {
  margin-bottom:20px!important;
  padding-left:24px!important;
}
.tf-policy-content li {
  margin-bottom:6px!important;
}
.tf-policy-content a:not(.btn-primary):not([class*="btn"]):not([class*="button"]):not([class*="bg-"]):not([style*="background"]) {
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  text-decoration:underline!important;
  font-weight:600!important;
  text-underline-offset:3px!important;
}

/* High-contrast sub-boxes inside yellow card: shipping cards, tracking box, pincode box, contact boxes */
.tf-policy-content :is(.p-4, [style*="background: #1a1a1a"], [style*="background:#1a1a1a"], [style*="background: #141713"], [style*="background:#141713"], [style*="background: #181818"], [style*="background:#181818"], [style*="background: var(--surface)"], [style*="border-left: 4px solid"]) {
  background:#000000!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:1px solid rgba(0,0,0,0.25)!important;
  border-radius:18px!important;
  box-shadow:0 10px 30px rgba(0,0,0,0.22)!important;
}
.tf-policy-content :is(.p-4, [style*="background: #1a1a1a"], [style*="background:#1a1a1a"], [style*="background: #141713"], [style*="background:#141713"], [style*="background: #181818"], [style*="background:#181818"], [style*="background: var(--surface)"], [style*="border-left: 4px solid"]) :is(h3,h4,strong,b,.text-white,[class*="text-lg"]) {
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","DM Sans",system-ui,sans-serif!important;
  font-weight:500!important;
}
.tf-policy-content :is(.p-4, [style*="background: #1a1a1a"], [style*="background:#1a1a1a"], [style*="background: #141713"], [style*="background:#141713"], [style*="background: #181818"], [style*="background:#181818"], [style*="background: var(--surface)"], [style*="border-left: 4px solid"]) :is(p, span:not([class*="text-[#ffd700]"]):not([class*="text-green"]):not([class*="kicker"])) {
  color:#a1a1aa!important;
  -webkit-text-fill-color:#a1a1aa!important;
}
.tf-policy-content :is(.p-4, [style*="background: #1a1a1a"], [style*="background:#1a1a1a"], [style*="background: #141713"], [style*="background:#141713"], [style*="background: #181818"], [style*="background:#181818"], [style*="background: var(--surface)"], [style*="border-left: 4px solid"]) :is(.text-\[\#ffd700\], [class*="tracking-widest"]) {
  color:#ffd700!important;
  -webkit-text-fill-color:#ffd700!important;
}
.tf-policy-content :is(.p-4, [style*="background: #1a1a1a"], [style*="background:#1a1a1a"], [style*="background: #141713"], [style*="background:#141713"], [style*="background: #181818"], [style*="background:#181818"], [style*="background: var(--surface)"], [style*="border-left: 4px solid"]) a {
  color:#ffd700!important;
  -webkit-text-fill-color:#ffd700!important;
  text-decoration:underline!important;
}
.tf-policy-content :is(.p-4, [style*="background: #1a1a1a"], [style*="background:#1a1a1a"], [style*="background: #141713"], [style*="background:#141713"], [style*="background: #181818"], [style*="background:#181818"], [style*="background: var(--surface)"], [style*="border-left: 4px solid"]) a:is(.bg-\[\#ffd700\], [href*="/store/account/"]) {
  background:#ffd700!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  text-decoration:none!important;
  font-weight:600!important;
  border-radius:9999px!important;
  padding:12px 24px!important;
  display:inline-block!important;
  transition:all .2s ease!important;
}
.tf-policy-content :is(.p-4, [style*="background: #1a1a1a"], [style*="background:#1a1a1a"], [style*="background: #141713"], [style*="background:#141713"], [style*="background: #181818"], [style*="background:#181818"], [style*="background: var(--surface)"], [style*="border-left: 4px solid"]) a:is(.bg-\[\#ffd700\], [href*="/store/account/"]):hover {
  background:#ffe033!important;
  transform:translateY(-2px)!important;
  box-shadow:0 8px 24px rgba(255,215,0,0.3)!important;
}

/* Pincode checker form inside shipping policy */
.tf-policy-content #sr-policy-pincode-form input {
  background:#111210!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:1px solid rgba(255,255,255,0.2)!important;
  border-radius:9999px!important;
  padding:12px 20px!important;
}
.tf-policy-content #sr-policy-pincode-form button {
  background:#ffd700!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  font-weight:600!important;
  border:none!important;
  border-radius:9999px!important;
  padding:12px 24px!important;
  transition:all .2s ease!important;
}
.tf-policy-content #sr-policy-pincode-form button:hover {
  background:#ffe033!important;
  transform:translateY(-2px)!important;
}

/* Elegant Apple-grade back buttons at the bottom */
.tf-policy :is(.btn-primary, .btn-shimmer) {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px 34px!important;
  background:#ffd700!important;
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","DM Sans",system-ui,sans-serif!important;
  font-weight:600!important;
  font-size:14px!important;
  letter-spacing:-.01em!important;
  border-radius:9999px!important;
  border:none!important;
  box-shadow:0 8px 25px rgba(255,215,0,0.25)!important;
  text-decoration:none!important;
  transition:all .25s ease!important;
}
.tf-policy :is(.btn-primary, .btn-shimmer):hover {
  transform:translateY(-2px)!important;
  box-shadow:0 12px 32px rgba(255,215,0,0.4)!important;
  background:#ffe033!important;
}
.tf-directory { width:min(1200px,calc(100% - 64px)); margin:auto; padding:56px 0; }
.tf-directory-header { margin-bottom:40px; max-width:720px; }
.tf-directory-header p { color:#a1a1aa; margin-top:16px; }
.tf-directory-kicker { color:#ffd700; font-size:11px; letter-spacing:.14em; margin-bottom:16px; display:block; font-weight:600; text-transform:uppercase; }
.tf-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0 40px; }
.tf-directory-card { padding:28px; background:#111211; border:1px solid rgba(255,255,255,0.08); border-radius:18px; box-shadow:0 8px 25px rgba(0,0,0,0.4); }
.tf-directory-card p { color:#a1a1aa; margin-top:12px; }
.tf-directory-card img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:12px; margin-bottom:20px; }
.tf-directory-pagination { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.tf-site-enter { animation:tf-site-enter .7s cubic-bezier(.22,1,.36,1) both; }
@keyframes tf-site-enter { from { opacity:.1; transform:translateY(14px); } to { opacity:1; transform:none; } }
@media(hover:hover) { .tf-site-page main :is(.btn-primary,.auth-btn,.btn-shimmer):hover { transform:translateY(-2px); } }
@media(max-width:800px) {
 .tf-directory { width:calc(100% - 40px); padding:36px 0; }
 .tf-directory-grid { grid-template-columns:1fr; }
 .tf-policy { padding:32px 16px!important; }
 .tf-policy article,.tf-policy-content { padding:24px!important; }
 .tf-site-page .footer-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tf-site-page main .auth-card { padding:24px!important; }
}
@media(prefers-reduced-motion:reduce) { .tf-site-enter { animation:none; } .tf-site-page main * { scroll-behavior:auto!important; } }
.tf-site-page main :is(.btn-primary,.btn-shimmer,button[type="submit"]) .text-white { color:#171b12!important; }
.tf-site-page .tf-directory-nav { display:flex; gap:12px 24px; flex-wrap:wrap; margin:24px 0 40px; color:#ffd700; font-size:14px; }
.tf-site-page .tf-directory-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.tf-directory-meta { display:flex; justify-content:space-between; gap:16px; margin-bottom:20px; color:#a1a1aa; font-size:13px; }
.tf-directory-stars { color:#ffd700; letter-spacing:.1em; }
.tf-directory-empty { padding:32px; border:1px solid rgba(255,255,255,0.08); border-radius:18px; color:#a1a1aa; }
.tf-service-state { background:#090a09!important; }
.tf-service-state :is(h1,h2) { font-weight:400!important; letter-spacing:-.035em; }
.tf-service-state :is(.container,.card,.maintenance-container,.closed-container) { background:#111211!important; box-shadow:none!important; border-color:rgba(255,255,255,0.08)!important; }
/* Catalogue and gym-detail tokens from older page families. */
body.tf-site-page { --tf-yellow:#ffd700; --tf-yellow-soft:#242317; --tf-yellow-deep:#ffd700; --tf-text:#f4f4f5; --tf-text-2:#a1a1aa; --tf-text-3:#71717a; --tf-border:rgba(255,255,255,0.08); --tf-soft:#111211; }
.tf-site-page .gym-stat-chip { background:#151614; border-color:#ffffff24; }
.tf-site-page .nutrition-home { --ink:#f3f3ed; --muted:#b2b5ad; --gold:#ffd700; --paper:#090a09; font-family:inherit; }
.tf-site-page .nutrition-home :is(.nh-subnav,.nh-discovery,.nh-end,.nh-faq details,.nh-category-links>a,.nh-shortcuts>a) { border-color:#ffffff24; }
.tf-site-page .nutrition-home :is(.nh-facts,.nh-story,.nh-feature,.nh-goal-grid>a,.nh-review-grid>article,.nh-product-card,.nh-story-image,.nh-detail-image,.qa-picker) { background:#151614; border-color:#ffffff24; color:#f3f3ed; box-shadow:none; }
.tf-site-page .nutrition-home :is(.nh-facts>div,.nh-facts>a,.qa-opt,.product-image-wrap) { background:#20211f; color:#f3f3ed; border-color:#ffffff24; }
.tf-site-page .nutrition-home :is(.nh-hero-bottom p,.nh-story p,.nh-feature p,.nh-goal-grid p,.product-brand,.qa-opt-label,.qa-spec,.nh-callout,.nh-small,.nh-facts span) { color:#b2b5ad; }
.tf-site-page .nutrition-home :is(.nh-eyebrow,.nh-art-caption,.nh-disc-star) { color:#ffd700; }
.tf-site-page .nutrition-home .nh-feature-disc::before { background:#11130f; }
.tf-site-page .nutrition-home .nh-feature-disc::after { border-color:#ffffff12; outline-color:#ffffff12; }
.tf-site-page .nutrition-home .nh-hero { background-image:none; }
.tf-site-page .nutrition-home :is(.nh-gold,.qa-buy,.qa-add,.qa-opt.is-selected) { background:#ffd700; color:#171b12; border-color:#ffd700; }
.tf-site-page .nutrition-home .nh-pill { background:#20211f; color:#f3f3ed; border:1px solid #ffffff24; border-radius:8px; }
.tf-site-page .nutrition-home .nh-pill.nh-gold { background:#ffd700; color:#171b12; border-color:#ffd700; }
.tf-site-page .nutrition-home :is(.nh-hero-product img,.nh-story-image img,.product-image-wrap img,.nh-detail-image img) { mix-blend-mode:normal; }
.tf-site-page .nutrition-home .nh-hero h1 { font-size:clamp(42px,5.5vw,76px)!important; }
.tf-site-page .nutrition-home .nh-hero h1>span { color:#f3f3ed; }
.tf-site-page .nutrition-home .nh-hero h1 .nh-title-muted { color:#aeb3a8; }
/* Product stage keeps its functional variant and quantity controls. */
.tf-site-page .pdp-page { --pdp-dark:#090a09!important; --pdp-glow:#151614!important; --pdp-surface:#090a09!important; --pdp-accent:#ffd700!important; }
.tf-site-page .pdp-stage { background:#151614; border:1px solid #ffffff24; box-shadow:none; border-radius:20px; }
.tf-site-page .pdp-stage::before { display:none; }
.tf-site-page .pdp-details { color:#f3f3ed; }
.tf-site-page .pdp-accordion-header { color:#f3f3ed; }
.tf-site-page :is(.pdp-stage-nav a.active,.pdp-icon-btn--cart,.pdp-buy,.pdp-buy-btn,.pdp-sticky-btn--buy) { background:#ffd700; color:#171b12; border-color:#ffd700; }
.tf-site-page .pdp-sticky-bar.visible { background:#000000; color:#f3f3ed; border-top:1px solid #ffffff24; box-shadow:none; }
.tf-site-page:has(.pdp-page) .main-header { background:#000000; }
.tf-site-page:has(.pdp-page) .main-header :is(.action-btn,.logo-text) { color:#ffd700; -webkit-text-fill-color:#ffd700; }
.tf-site-page main :is(.membership-card,.equipment-card,.facility-card) { background:#000000!important; border-color:#ffffff24!important; box-shadow:none!important; }
@media(max-width:800px) { .tf-site-page .nutrition-home .nh-hero h1 { font-size:clamp(34px,8vw,52px)!important; } }
.tf-site-page .nutrition-home { background:#000000; box-shadow:none; margin:0 auto; border-radius:0; padding-top:40px; }
.tf-site-page .nutrition-home .nh-hero::before { background:#000000; }
.tf-site-page .nutrition-home :is(.nh-full-catalogue>summary,.product-info) { background:#000000; }
.tf-site-page .nutrition-home .nh-end { background:#000000; color:#f3f3ed; }
.tf-site-page .nutrition-home .nh-end::before { display:none; }
.tf-site-page .nutrition-home .nh-title-first { display:block!important; }
.tf-site-page .nutrition-home .nh-hero h1 { width:54%; margin-top:90px; }
.tf-site-page .nutrition-home .nh-hero h1>.nh-title-last { margin-left:0; color:#ffd700; }
.tf-site-page .nutrition-home .nh-hero-art { width:42%; right:0; }
.tf-site-page .nutrition-home .nh-hero-product { background:#fff; border-radius:16px; overflow:hidden; }
.tf-site-page .nutrition-home .nh-hero-product img { transform:none; filter:none; }
.tf-site-page .nutrition-home .nh-hero-product:hover img { transform:scale(1.025); }
.tf-site-page .nutrition-home .nh-orbit { display:none; }
@media(max-width:600px) {
 .tf-site-page .nutrition-home .nh-hero h1 { width:100%; margin-top:32px; }
 .tf-site-page .nutrition-home .nh-hero-art { width:80%; top:210px; right:10%; }
 .tf-site-page .nutrition-home .nh-hero-bottom { margin-top:345px; }
}
body.tf-site-page { background:#000000!important; --tf-bg:#000000; --tf-surface:#000000; --tf-surface-2:#000000; --tf-border-strong:#ffffff35; --tf-shadow-card:none; --tf-shadow-hover:none; --tf-shadow-lift:none; }
.tf-site-page :is(.search-page-wrap,.category-page,.goal-page) { background:#000000!important; }
.tf-site-page :is(.search-sticky-top,.search-card,.filter-sidebar,.filter-panel,.product-card,.product-card__body,.category-hero,.category-sidebar) { background:#000000!important; color:#f3f3ed!important; box-shadow:none!important; }
.tf-site-page .main-header { background:#000000!important; }
.tf-site-page .main-header .logo-text { color:#f3f3ed!important; -webkit-text-fill-color:#f3f3ed!important; background:none!important; }
.tf-site-page .main-header .action-btn { color:#ffd700!important; background:transparent!important; box-shadow:none!important; }
.tf-site-page main :is(.bg-gradient-to-br,.bg-gradient-to-r)[class*="from-green"],.tf-site-page main :is(.bg-gradient-to-br,.bg-gradient-to-r)[class*="from-purple"] { background:#000000; color:#ffd700; }
.tf-site-page .gym-gallery { background:#000000; }
.tf-site-page .gym-gallery--hero { max-height:400px; }
.tf-site-page .gym-gallery__slide--empty { background:#000000; }
.tf-site-page .gym-gallery__caption { color:#f3f3ed; background:rgba(0,0,0,0.85); }
.tf-site-page main .pdp-title { font-size:clamp(28px,3vw,40px)!important; }
.tf-site-page .pdp-gallery-main { background:#fff; border-radius:16px; }
.tf-site-page .pdp-gallery-main>img,.tf-site-page .pdp-thumb img { mix-blend-mode:normal; filter:none; }
.tf-site-page .pdp-gallery-main:has(img[data-transparent]) { background:transparent; }
.tf-site-page :is(.pdp-pill.active,.pdp-flavour-pill.active) { background:#ffd700; color:#171b12; border-color:#ffd700; }
.tf-site-page main .tf-policy h1 { font-size:clamp(32px,4vw,48px)!important; }
.tf-site-page main .tf-policy h2 { font-size:25px!important; border-bottom:1px solid #ffffff24!important; }
.tf-site-page main .tf-policy h3 { font-size:19px!important; }
.tf-site-page .gym-gallery--hero .gym-gallery__viewport { height:380px; }
.tf-site-page .gym-gallery--hero .gym-gallery__caption { bottom:0px; }
@media(max-width:600px) { .tf-site-page .gym-gallery--hero .gym-gallery__viewport { height:260px; } }
.tf-site-page main :is(.view-product-btn,.qa-buy) { background:#ffd700!important; color:#0a0a0a!important; font-weight:700!important; border:none!important; box-shadow:0 2px 10px rgba(212,175,55,0.25)!important; letter-spacing:0; text-transform:none; }
.tf-site-page main .qa-add { background:#1e1e1e!important; color:#ffd700!important; border:1.5px solid rgba(255,215,0,0.4)!important; box-shadow:none!important; font-weight:500; letter-spacing:0; text-transform:none; }
.tf-site-page main .qa-add:hover { background:#ffd700!important; color:#0a0a0a!important; border-color:#ffd700!important; }
.tf-site-page main .qa-add.is-oos { background:#181818!important; border-color:#333!important; color:#666!important; }
.tf-site-page main :is(.commerce-actions,.hero-actions) { display:flex!important; align-items:center!important; gap:16px!important; margin-top:32px!important; flex-wrap:wrap!important; }
.tf-site-page main .commerce-actions .commerce-text-link { display:inline-flex!important; align-items:center!important; gap:8px!important; padding:13px 22px!important; min-height:48px!important; border-radius:8px!important; background:rgba(255,255,255,0.06)!important; border:1px solid rgba(255,255,255,0.16)!important; color:#f3f3ed!important; font-size:14px!important; font-weight:600!important; text-decoration:none!important; transition:all .25s ease!important; }
.tf-site-page main .commerce-actions .commerce-text-link:hover { background:rgba(255,215,0,0.12)!important; border-color:rgba(255,215,0,0.45)!important; color:#ffd700!important; transform:translateY(-2px)!important; box-shadow:0 4px 14px rgba(0,0,0,0.4)!important; }
.tf-site-page main .qa-actions { display:flex!important; flex-wrap:nowrap!important; align-items:center!important; gap:8px!important; margin-top:auto!important; padding-top:12px!important; }
.tf-site-page main .qa-bottom { margin-top:auto!important; padding-top:14px!important; }
.tf-site-page main .fitpoints-pill { background:#242317; color:#ffd700; border-color:#ffd70045; }
.tf-site-page main .points-card { background:#ffd700; color:#171b12; box-shadow:none; }
.tf-site-page main .points-card :is(h1,h2,h3,p,span,strong) { color:#171b12!important; }
.tf-site-page main .magic-card::before,.tf-site-page main .magic-card::after { display:none!important; }
.tf-site-page main :is(.offer-benefit,.lead-card) { background:#151614; box-shadow:none; border-color:#ffffff24; }
.tf-site-page .gym-gallery--hero .gym-gallery__caption { z-index:3; }
@media(prefers-reduced-motion:reduce) { .tf-site-page main [data-aos] { opacity:1!important; transform:none!important; } .tf-site-page main :is(.animate-marquee,.animate-marquee-reverse) { animation:none!important; } }
.tf-site-page .nutrition-home .nh-pill span { background:#ffd700; color:#171b12; }
@media(max-width:600px) {
 .tf-site-page .nutrition-home .nh-hero-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:345px; }
 .tf-site-page .nutrition-home .nh-hero-bottom p { width:100%; max-width:290px; font-size:14px; line-height:1.6; }
 .tf-site-page .nutrition-home .nh-hero-bottom .nh-rings { display:none; }
 .tf-site-page .nutrition-home .nh-hero-bottom>.nh-pill { margin:0; font-size:13px; min-height:44px; }
 .tf-site-page .nutrition-home .nh-callout { display:none; }
 .tf-site-page .nutrition-home .nh-hero { min-height:auto; padding-bottom:32px; }
 .tf-site-page .nutrition-home .nh-art-caption { font-size:8px; }
 .tf-site-page .nutrition-home .nh-feature h3 { font-size:19px!important; }
 .tf-site-page .nutrition-home :is(.nh-feature p,.nh-story p,.nh-goal-grid p) { font-size:13px; }
}
.tf-site-page main .product-card { border-color:#ffffff24!important; }
@media(max-width:600px) { .tf-site-page .nutrition-home .nh-hero-bottom>.nh-pill { align-self:flex-start; margin-left:0!important; } }
.tf-site-page .nutrition-home .nh-callout { display:none; }
.tf-site-page .nutrition-home .nh-rings { display:none; }
.tf-site-page .nutrition-home .nh-hero-bottom { gap:28px; }

/* Keep introductory movement inside the header clearance. */
.tf-site-page main [data-aos="fade-down"] { transform:translateY(-16px); }
.tf-site-page main [data-aos="fade-down"].aos-animate { transform:none; }
.tf-site-page .tf-policy-content { padding:clamp(32px,5vw,56px)!important; background:#ffd700!important; border:none!important; }
@media(max-width:760px) { .tf-site-page .tf-policy-content { padding:24px 18px!important; } }
.tf-site-page main span:is(.difficulty-beginner,.difficulty-intermediate,.difficulty-advanced,.difficulty-all_levels):empty { background:#ffd700!important; }

/* Collection cards share the shop's dark surfaces and compact hierarchy. */
.tf-site-page main .product-card .product-image-wrap { background:transparent!important; }
.tf-site-page main .product-card .product-image-wrap img { mix-blend-mode:normal!important; }
.tf-site-page main .product-card .product-info { background:#151614!important; }
.tf-site-page main .product-card .product-name { font-size:18px!important; line-height:1.4!important; letter-spacing:-.02em!important; white-space:normal; min-height:50px; }
.tf-site-page main .product-card .wishlist-btn { background:#20211f!important; color:#ffd700!important; }
@media(max-width:760px) {
 .tf-site-page main .product-card .product-name { font-size:15px!important; min-height:42px; }
 .tf-site-page main .product-card .product-info { padding:14px!important; }
 .tf-site-page main .product-card .qa-price-row { flex-wrap:wrap; gap:8px; }
 .tf-site-page main .product-card .qa-picker summary { font-size:11px; }
 .tf-site-page main .product-card .qa-opt { font-size:11px; }
}

/* Shared, restrained page hierarchy and predictable component spacing. */
.tf-site-page main :is(.tf-directory-header,.section-header) { margin-bottom:28px; }
.tf-site-page main :is(.class-card,.trainer-card,.stats-card,.offer-card) { box-shadow:none!important; }
.tf-site-page main :is(.class-card,.stats-card) { background:#ffd700!important; background-image:none!important; color:#000000!important; border-color:#ffd700!important; }
.tf-site-page main :is(.class-card,.stats-card) :is(h2,h3,h4,p,li,strong,b,span) { color:#000000!important; }
.tf-site-page main :is(.class-card,.stats-card) :is(.btn-primary,.btn-secondary) { background:#000000!important; color:#ffd700!important; }
.tf-site-page main :is(.class-card,.trainer-card) { overflow:hidden; }
.tf-site-page main :is(.tf-directory-grid,.classes-grid,.trainers-grid) { gap:20px; }
.tf-site-page main :is(h1,h2,h3,h4,p) { overflow-wrap:break-word; }
@media(max-width:600px) {
 .tf-site-page .tf-directory { width:calc(100% - 32px); padding:32px 0; }
 .tf-site-page main :is(.tf-directory-card,.class-card,.stats-card) { padding:20px; }
 .tf-site-page main .section-header { margin-bottom:24px; }
}

.tf-site-page main :is(h1,h2,h3,h4) :is(span,strong,b) { font-weight:inherit!important; }
.tf-site-page main[style*="padding-top: 5rem"] { padding-top:24px!important; }

/* Universal Rule: All pages must have only plain solid black background, zero gradients */
html,
body,
body.tf-site-page,
.tf-site-page,
.tf-home-refined,
#app,
main,
section,
.tf-policy,
.nutrition-home,
.pdp-page,
.pdp-stage,
.tf-directory,
.footer,
.apple-footer,
.tf-site-footer,
.final-cta-section,
.philosophy-section,
.preview-section,
.founder-section,
.testimonials-section,
.video-strip,
.tf-journey,
.tf-stories,
.shop-needs,
.catalogue,
.store-intro,
.member-profile-hub {
 background:#000000!important;
 background-color:#000000!important;
 background-image:none!important;
}

/* Eliminate all background gradient meshes, radial overlays and scanlines */
.animated-bg,
.bg-mesh,
.footer-bg-watermark,
.tf-journey::before,
.tf-story:after,
.tf-story-fuel:after,
.tf-journey-cards:before,
[class*="bg-[radial-gradient"],
[class*="bg-[linear-gradient"] {
 display:none!important;
}

/* Card Rule: Never any gradient. Only pure solid black or pure yellow. */
:where(.product-card, .nh-product-card, .trainer-card, .class-card, .stats-card, .tf-plan, .need-card, .account-intro, .tf-directory-card, .review-card, .facility-card, .equipment-card, .magic-card, .profile-card, .order-card, .auth-card, .offer-card, .lead-panel, .feature-card, .final-cta-card, .final-cta-content, .tf-policy-content, .tf-policy article, .preview-card, .interactive-deck-card, .testimonial-slide, .nh-facts, .nh-story, .nh-feature, .nh-goal-grid>a, .nh-facts>div, .nh-facts>a, .nh-story-image, .nh-detail-image, .nh-end, .nh-review-grid article, .profile-header-card, .tf-branch-card, .tf-location-card, .tf-point-card, .tf-point-step, .tf-point-activity, .tf-auto-renew-card, #active-membership-status-card, .commerce-featured-pack, .commerce-guide, .commerce-rewards, .pdp-stage, .pdp-details, .summary-action-box, [class*="card"], [class*="panel"]) {
 background-image:none!important;
}

/* 1. Pure Yellow Cards: Solid #ffd700 with pure solid black #000000 text */
:where(.tf-policy-content, .tf-policy article, .tf-plan, .need-card, .account-intro, .class-card, .stats-card, .tf-branch-card, .tf-location-card, .tf-point-card, .tf-point-step, .tf-point-activity, .tf-auto-renew-card, #active-membership-status-card, .highlight-card, [class*="bg-[#ffd700]"], [style*="background:#ffd700"], [style*="background: #ffd700"], .tf-milestone, .tf-founder-chapter, .tf-pass-visual) {
 background:#ffd700!important;
 background-color:#ffd700!important;
 background-image:none!important;
 color:#000000!important;
 -webkit-text-fill-color:#000000!important;
}

:where(.tf-policy-content, .tf-policy article, .tf-plan, .need-card, .account-intro, .class-card, .stats-card, .tf-branch-card, .tf-location-card, .tf-point-card, .tf-point-step, .tf-point-activity, .tf-auto-renew-card, #active-membership-status-card, .highlight-card, [class*="bg-[#ffd700]"], [style*="background:#ffd700"], [style*="background: #ffd700"], .tf-milestone, .tf-founder-chapter, .tf-pass-visual) :where(h1, h2, h3, h4, h5, h6, p, li, strong, b, span:not([class*="bg-black"]):not([class*="bg-[#000"]):not([class*="badge"]):not(.button):not(.tf-page-button):not(.tf-plan-cta), small, label, address) {
 color:#000000!important;
 -webkit-text-fill-color:#000000!important;
}

/* Sub-cards and action buttons inside yellow cards: Solid black with yellow text */
:where(.tf-policy-content, .tf-policy article, .tf-plan, .need-card, .account-intro, .class-card, .stats-card, .tf-branch-card, .tf-location-card, .tf-point-card, .tf-point-step, .tf-point-activity, .tf-auto-renew-card, #active-membership-status-card, .highlight-card, [class*="bg-[#ffd700]"], [style*="background:#ffd700"], [style*="background: #ffd700"], .tf-milestone, .tf-founder-chapter, .tf-pass-visual) :where(.button, .tf-page-button, .tf-plan-cta, .action-btn, [class*="bg-black"], [class*="bg-[#000"], [class*="bg-[#111]"]) {
 background:#000000!important;
 color:#ffd700!important;
 -webkit-text-fill-color:#ffd700!important;
 border:1px solid rgba(255, 215, 0, 0.3)!important;
}

/* 2. Pure Black Cards: Solid #000000 with subtle clean border and white/muted text */
:is(.product-card, .nh-product-card, .trainer-card, .tf-directory-card, .review-card, .facility-card, .equipment-card, .magic-card, .profile-card, .order-card, .auth-card, .offer-card, .lead-panel, .feature-card, .final-cta-card, .final-cta-content, .preview-card, .interactive-deck-card, .testimonial-slide, .product-info, .product-image-wrap, .product-photo, .main-photo, .thumbnail, .profile-header-card, .nh-facts, .nh-story, .nh-feature, .nh-goal-grid>a, .nh-facts>div, .nh-facts>a, .nh-story-image, .nh-detail-image, .nh-end, .nh-review-grid article, .commerce-featured-pack, .commerce-guide, .commerce-rewards, .pdp-stage, .pdp-details, .summary-action-box, .seo-content-block) {
 background:#000000!important;
 background-color:#000000!important;
 background-image:none!important;
 border:1px solid rgba(255, 255, 255, 0.12)!important;
}

/* Solid Buttons, Badges, Toasts & Announcement Bar (Strict Zero Gradients) */
.btn-primary,
.btn-shimmer,
.action-btn.primary,
.apple-bag-badge {
 background:#ffd700!important;
 background-color:#ffd700!important;
 background-image:none!important;
 color:#000000!important;
 -webkit-text-fill-color:#000000!important;
}
.btn-primary::before,
.btn-shimmer::before {
 display:none!important;
}
.announcement-bar {
 background:#000000!important;
 background-color:#000000!important;
 background-image:none!important;
 border-bottom:1px solid rgba(255, 215, 0, 0.28)!important;
}
.announcement-bar::before,
.announcement-bar::after {
 display:none!important;
}
.toast {
 background:#000000!important;
 background-color:#000000!important;
 background-image:none!important;
 border:1px solid rgba(255, 215, 0, 0.3)!important;
 color:#ffffff!important;
}
.scroll-progress {
 background:#ffd700!important;
}

/* ==========================================================================
   STRICT GLOBAL RULES:
   1. RECTANGLE ROUNDED PILLS ALL OVER THE WEBSITE
   2. IN BLACK CARDS, STRICTLY WHITE OR YELLOW TEXT
   ========================================================================== */

/* 1. Universal Rectangle Rounded Pills across all buttons, badges, chips, tags, pills */
:is(
  .btn, .btn-primary, .btn-secondary, .btn-shimmer, .btn-outline, .button, 
  .tf-button, [class*="tf-btn"], .final-cta-btn,
  .tf-page-button, .tf-plan-cta, .action-btn, [class*="btn-"], 
  .badge, .chip, .pill, .tag, [data-badge], .credential-chip, .filter-pill, 
  .subnav-pill, .footer-dispatch-pill, .apple-bag-badge, .cta-button, 
  [class*="badge-"], [class*="chip-"], [class*="pill-"], 
  button:not([class*="rounded-none"]):not(.swiper-button-next):not(.swiper-button-prev),
  a:is([class*="rounded-md"], [class*="rounded-lg"], [class*="rounded-xl"], [class*="rounded-2xl"]):is([class*="btn"], [class*="px-"]):not([class*="rounded-none"])
) {
  border-radius: 10px !important;
}

/* 2. Universal Rule: In Black Cards, ALL text is strictly white (#ffffff) or yellow (#ffd700) */
:where(
  .product-card, .nh-product-card, .trainer-card, .class-card, .stats-card, 
  .tf-plan, .need-card, .account-intro, .tf-directory-card, .review-card, 
  .facility-card, .equipment-card, .magic-card, .profile-card, .order-card, 
  .auth-card, .offer-card, .lead-panel, .feature-card, .final-cta-card, 
  .final-cta-content, .preview-card, .interactive-deck-card, .testimonial-slide, 
  [class*="card"], [class*="panel"], [class*="bento"], 
  .bg-black, [class*="bg-[#000000]"], [class*="bg-[#000]"], [class*="bg-[#121312]"], 
  [class*="bg-[#0a0a0a]"], [class*="bg-[#080908]"], [class*="bg-[#141414]"], [class*="bg-[#111211]"]
) :where(
  h1, h2, h3, h4, h5, h6, p, 
  span:not(.btn-primary):not([class*="bg-[#ffd700]"]):not([class*="bg-yellow"]):not(.apple-bag-badge), 
  li, label, strong, b, small, time, blockquote, dt, dd, figcaption, address, 
  a:not(.btn-primary):not([class*="bg-[#ffd700]"]):not([class*="bg-yellow"])
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Accents, ratings, kickers, prices, and highlight spans inside black cards: Strictly Yellow */
:where(
  .product-card, .nh-product-card, .trainer-card, .class-card, .stats-card, 
  .tf-plan, .need-card, .account-intro, .tf-directory-card, .review-card, 
  .facility-card, .equipment-card, .magic-card, .profile-card, .order-card, 
  .auth-card, .offer-card, .lead-panel, .feature-card, .final-cta-card, 
  .final-cta-content, .preview-card, .interactive-deck-card, .testimonial-slide, 
  [class*="card"], [class*="panel"], [class*="bento"], 
  .bg-black, [class*="bg-[#000000]"], [class*="bg-[#000]"], [class*="bg-[#121312]"], 
  [class*="bg-[#0a0a0a]"], [class*="bg-[#080908]"], [class*="bg-[#141414]"], [class*="bg-[#111211]"]
) :where(
  [class*="text-[#ffd700]"], [class*="text-yellow"], .text-accent, .price, .kicker, 
  [data-badge], .badge-yellow, [style*="color:#ffd700"], [style*="color: #ffd700"], 
  .star-rating, .rating, .currency, [class*="text-emerald"], [class*="text-green"]
) {
  color: #ffd700 !important;
  -webkit-text-fill-color: #ffd700 !important;
}

/* Buttons or elements with yellow background always keep black text */
:is(.btn-primary, [class*="bg-[#ffd700]"], [class*="bg-yellow"], .apple-bag-badge) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}
:is(.btn-primary, [class*="bg-[#ffd700]"], [class*="bg-yellow"]) :is(span, p, a, strong, b) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* Any links inside black cards hover to brand yellow */
:is([class*="card"], [class*="panel"], [class*="bento"], .bg-black, [class*="bg-[#000000]"], [class*="bg-[#000]"]) a:hover {
  color: #ffd700 !important;
  -webkit-text-fill-color: #ffd700 !important;
}


