:root{
  --tpt-black:#050505;
  --tpt-black-soft:#0b0b0d;
  --tpt-panel:#111114;
  --tpt-panel-2:#18181c;
  --tpt-pink:#e76d9b;
  --tpt-pink-light:#f4a5c2;
  --tpt-pink-dark:#c94d7c;
  --tpt-white:#fffafa;
  --tpt-muted:#c9c2c6;
  --tpt-border:rgba(231,109,155,.24);
}

html,body,#root{background:var(--tpt-black)!important;color:var(--tpt-white)!important}
body{color-scheme:dark}
::selection{background:var(--tpt-pink);color:white}
::-webkit-scrollbar-track{background:#080808!important}
::-webkit-scrollbar-thumb{background:var(--tpt-pink)!important}

/* Keep every public section in one coordinated dark palette. */
section,main,article,aside,
.bg-white,.bg-ivory-50,.bg-ivory-100,.bg-ivory-200,.bg-warm-100,
.bg-champagne-50,.bg-champagne-100,.bg-champagne-200{
  background-color:var(--tpt-black-soft)!important;
  color:var(--tpt-white)!important;
}

/* Alternate sections subtly without introducing a second colour scheme. */
section:nth-of-type(even),
.bg-ivory-100,.bg-ivory-200,.bg-warm-100,.bg-champagne-50{
  background-color:#0f0f12!important;
}

/* Typography */
.text-charcoal-400,.text-charcoal-500,.text-charcoal-600{color:var(--tpt-muted)!important}
.text-charcoal-700,.text-charcoal-800{color:var(--tpt-white)!important}
.text-champagne-300,.text-champagne-400,.text-champagne-500,
.text-champagne-600,.text-champagne-700,.text-pink-400{color:var(--tpt-pink)!important}
.hover\:text-champagne-300:hover,.hover\:text-champagne-600:hover,
.hover\:text-charcoal-700:hover{color:var(--tpt-pink-light)!important}

/* Cards and panels */
.shadow-card,.shadow-soft,.rounded-2xl,.rounded-xl,.rounded-lg{
  border-color:var(--tpt-border);
}
.bg-white.shadow-card,.bg-white.shadow-soft,
.bg-ivory-50.shadow-card,.bg-ivory-100.shadow-card,
[class*="bg-white/"]{
  background:linear-gradient(145deg,var(--tpt-panel),#0b0b0d)!important;
  border:1px solid var(--tpt-border)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.34)!important;
}
.hover\:bg-ivory-100:hover,.hover\:bg-ivory-200:hover{background:var(--tpt-panel-2)!important}
.hover\:shadow-card:hover,.hover\:shadow-hover:hover{box-shadow:0 18px 48px rgba(231,109,155,.14)!important}

/* Borders and rules */
.border-ivory-200,.border-ivory-300,.border-champagne-300,.border-champagne-400,
.border-white\/10{border-color:var(--tpt-border)!important}
hr{border-color:var(--tpt-border)!important}

/* Buttons */
.btn-primary,.bg-champagne-500,.lux-quote-btn{
  background:linear-gradient(135deg,var(--tpt-pink),var(--tpt-pink-dark))!important;
  color:white!important;
  border-color:transparent!important;
  box-shadow:0 10px 28px rgba(231,109,155,.25)!important;
}
.btn-primary:hover,.lux-quote-btn:hover{
  background:linear-gradient(135deg,#f07fac,#d55787)!important;
  box-shadow:0 14px 34px rgba(231,109,155,.34)!important;
}
.btn-white{
  background:transparent!important;
  color:var(--tpt-pink-light)!important;
  border:1px solid var(--tpt-pink)!important;
}
.btn-white:hover{background:var(--tpt-pink)!important;color:white!important}

/* Forms */
input,textarea,select{
  background:#0b0b0e!important;
  color:var(--tpt-white)!important;
  border-color:var(--tpt-border)!important;
}
input::placeholder,textarea::placeholder{color:#8f868b!important}
input:focus,textarea:focus,select:focus{
  border-color:var(--tpt-pink)!important;
  box-shadow:0 0 0 3px rgba(231,109,155,.13)!important;
  outline:none!important;
}
option{background:#111114;color:white}

/* Gallery filters, category pills, badges */
button[class*="rounded-full"],a[class*="rounded-full"]{
  border-color:var(--tpt-border)!important;
}
.bg-champagne-100,.bg-champagne-200{background:rgba(231,109,155,.12)!important;color:var(--tpt-pink-light)!important}

/* Footer and navigation */
footer,.bg-charcoal-800,.bg-charcoal-900,.bg-charcoal-900\/95{background:#020203!important}
.lux-nav{background:rgba(0,0,0,.97)!important;border-color:var(--tpt-border)!important}
.lux-nav-link.active:after{background:var(--tpt-pink)!important}

/* CMS/admin screens */
[class*="grid-cols-[360px_1fr]"],[class*="grid-cols-[420px_1fr]"]{background:var(--tpt-black)!important}
.bg-blue-50{background:rgba(231,109,155,.10)!important}
.text-blue-600{color:var(--tpt-pink-light)!important}
.bg-green-50{background:rgba(34,197,94,.10)!important}
.bg-green-500,.bg-green-600{color:white!important}

/* Modal/lightbox surfaces */
.fixed.inset-0{--tw-backdrop-opacity:1}
.fixed.inset-0 .bg-white{background:var(--tpt-panel)!important}

/* Preserve image presentation and improve consistency. */
img{filter:saturate(.94) contrast(1.02)}
.logo-image,img[src*="logo"]{filter:none}

@media (max-width:1023px){
  .lux-nav-link.active:after{bottom:-7px}
}
