/* GAN89 — Celestial Gold theme layer. Keeps the original GAN89 structure intact. */
:root {
  --gan-ink: #050914;
  --gan-night: #09152d;
  --gan-blue: #102b55;
  --gan-gold: #f5b942;
  --gan-gold-soft: #ffe3a0;
  --gan-copper: #bc681d;
  --gan-text: #f8f3e7;
  --gan-muted: #b9c5d9;
  --gan-line: rgba(245, 185, 66, .32);
  --gan-glass: rgba(8, 17, 37, .78);
  --gan-shadow: 0 24px 70px rgba(0, 0, 0, .48);
  --gan-mx: 50%;
  --gan-my: 12%;
}

html { color-scheme: dark; scroll-behavior: smooth; }

body {
  color: var(--gan-text);
  background:
    radial-gradient(circle at var(--gan-mx) var(--gan-my), rgba(43, 89, 153, .28), transparent 34rem),
    radial-gradient(circle at 8% 22%, rgba(245, 185, 66, .09), transparent 24rem),
    linear-gradient(155deg, #030711 0%, var(--gan-night) 48%, #040814 100%);
  background-attachment: fixed;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .72;
  background-image:
    radial-gradient(circle, rgba(255, 226, 159, .8) 0 1px, transparent 1.7px),
    radial-gradient(circle, rgba(127, 179, 255, .62) 0 1px, transparent 1.5px);
  background-position: 0 0, 38px 56px;
  background-size: 91px 91px, 137px 137px;
  mask-image: linear-gradient(to bottom, #000 0, transparent 76%);
}

::selection { color: #080c17; background: var(--gan-gold-soft); }

a { transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }

.topbar {
  color: var(--gan-gold-soft) !important;
  background: #030711 !important;
  border-bottom: 1px solid rgba(245, 185, 66, .22);
}

.topbar a { color: #e9d8ac !important; }
.topbar a:hover { color: #fff1c8 !important; }

.navbar {
  background: rgba(5, 11, 25, .88) !important;
  border-bottom: 1px solid var(--gan-line) !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .32) !important;
  backdrop-filter: blur(18px) saturate(135%);
}

.navbar-logo img, .navbar .logo img {
  filter: drop-shadow(0 0 14px rgba(245, 185, 66, .3));
}

.search {
  background: rgba(255, 255, 255, .055) !important;
  border: 1px solid rgba(245, 185, 66, .28) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}

.search input { color: var(--gan-text) !important; background: transparent !important; }
.search input::placeholder { color: #8290a7; }

.mega-cats a {
  color: #d8e0ed !important;
  border-radius: 999px;
  padding-inline: 15px !important;
}

.mega-cats a:hover {
  color: #130c02 !important;
  background: linear-gradient(135deg, #ffe5a3, #d99328) !important;
  box-shadow: 0 7px 24px rgba(245, 185, 66, .24);
}

.login-btn, .modal-btn-primary,
.pd-sticky-btn-buy, .pd-buy-now-btn,
.beauty-button, .btn-primary {
  color: #120b02 !important;
  border: 1px solid #ffd777 !important;
  background: linear-gradient(135deg, #fff0b9 0%, #f5b942 45%, #b85f17 100%) !important;
  box-shadow: 0 9px 28px rgba(225, 143, 34, .25), inset 0 1px rgba(255, 255, 255, .7) !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
}

.login-btn:hover, .modal-btn-primary:hover,
.pd-sticky-btn-buy:hover, .pd-buy-now-btn:hover,
.beauty-button:hover, .btn-primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 13px 34px rgba(245, 185, 66, .38) !important;
}

.product-single { position: relative; isolation: isolate; }

.pd-breadcrumb {
  color: var(--gan-muted) !important;
  background: rgba(5, 11, 25, .46);
  border: 1px solid rgba(245, 185, 66, .14);
  border-radius: 999px;
  padding: 10px 18px !important;
  backdrop-filter: blur(10px);
}

.pd-breadcrumb a { color: var(--gan-gold-soft) !important; }

.pd-media-card, .pd-info-card, .pd-related-full,
.pd-full-description, .tnt-review-mecha,
.beauty-authority-section, #anlc-beauty-standalone-v1 .beauty-wrapper {
  color: var(--gan-text) !important;
  border: 1px solid var(--gan-line) !important;
  background:
    linear-gradient(145deg, rgba(18, 41, 78, .72), rgba(5, 12, 27, .9)) !important;
  box-shadow: var(--gan-shadow), inset 0 1px rgba(255, 255, 255, .07) !important;
  backdrop-filter: blur(16px) saturate(125%);
}

.pd-media-card, .pd-info-card { border-radius: 22px !important; overflow: hidden; }

.pd-main-image {
  background: radial-gradient(circle at 50% 35%, rgba(72, 118, 180, .36), rgba(2, 6, 14, .92)) !important;
}

.pd-main-image img {
  border-radius: 18px;
  filter: saturate(1.04) contrast(1.03);
  transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .4s ease;
}

.pd-main-image:hover img { transform: scale(1.018); filter: saturate(1.1) contrast(1.05); }

.pd-thumb-btn {
  background: rgba(255, 255, 255, .04) !important;
  border-color: rgba(255, 255, 255, .12) !important;
}

.pd-thumb-btn.active, .pd-thumb-btn:hover {
  border-color: var(--gan-gold) !important;
  box-shadow: 0 0 0 2px rgba(245, 185, 66, .16), 0 8px 22px rgba(0,0,0,.3);
}

.pd-title, .pd-full-desc-title, .pd-related-title,
.mecha-header h3, .tnt-header h2, .beauty-title {
  color: #fff2c9 !important;
  font-family: Georgia, Cambria, "Times New Roman", serif !important;
  text-shadow: 0 2px 18px rgba(245, 185, 66, .24) !important;
  letter-spacing: -.015em;
}

.pd-title {
  font-size: clamp(1.85rem, 3vw, 3.05rem) !important;
  line-height: 1.08 !important;
}

.pd-title::after {
  content: "";
  display: block;
  width: 74px;
  height: 2px;
  margin-top: 18px;
  background: linear-gradient(90deg, var(--gan-gold), transparent);
  box-shadow: 0 0 12px rgba(245, 185, 66, .6);
}

.pd-short-desc, .pd-full-desc-body, .beauty-authority-section p,
.beauty-authority-section li { color: #d6dfed !important; }

.pd-short-desc li::marker, .beauty-authority-section li::marker { color: var(--gan-gold); }
.pd-short-desc a, .pd-full-desc-body a, .beauty-authority-section a { color: var(--gan-gold-soft) !important; }

.faq-item {
  border-color: rgba(245, 185, 66, .22) !important;
  background: rgba(4, 11, 25, .62) !important;
}

.faq-item:hover, .faq-item.active {
  border-color: rgba(245, 185, 66, .62) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, .28), 0 0 22px rgba(245, 185, 66, .08) !important;
}

.faq-question { color: #ffe5a3 !important; font-weight: 700; }
.faq-answer { color: #cbd6e7 !important; }

.tnt-review-mecha { animation: none !important; border-radius: 20px !important; }
.tnt-name { color: var(--gan-gold) !important; text-shadow: none !important; }
.tnt-comment { color: #d6dfed !important; }

.pd-related-card {
  background: rgba(8, 19, 40, .78) !important;
  border: 1px solid rgba(245, 185, 66, .17) !important;
  border-radius: 18px !important;
  overflow: hidden;
}

.pd-related-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(245, 185, 66, .58) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .4) !important;
}

.site-footer {
  color: #bfcadd !important;
  background: linear-gradient(180deg, #071126, #02050b) !important;
  border-top: 1px solid var(--gan-line) !important;
}

.site-footer .ft-title, .site-footer .company { color: #ffe3a0 !important; }
.site-footer a { color: #bfcadd !important; }
.site-footer a:hover { color: #fff0bd !important; }

.dbl-red-fixed-footer {
  background: linear-gradient(180deg, rgba(13, 29, 57, .96), rgba(3, 8, 18, .98)) !important;
  border-top-color: rgba(245, 185, 66, .65) !important;
  box-shadow: 0 -16px 48px rgba(0, 0, 0, .46), inset 0 1px rgba(255, 230, 164, .1) !important;
}

.dbl-red-fixed-footer::after { background: linear-gradient(120deg, transparent, rgba(255, 218, 128, .35), transparent) !important; }
.dbl-red-fixed-footer a { color: #ead8ad !important; }
.dbl-red-fixed-footer a:hover { color: #fff !important; filter: drop-shadow(0 0 8px rgba(245, 185, 66, .7)) !important; }
.dbl-red-fixed-footer .core-cta { background: rgba(245, 185, 66, .13) !important; border-color: rgba(245, 185, 66, .68) !important; }
.dbl-red-fixed-footer img { filter: drop-shadow(0 0 7px rgba(245, 185, 66, .55)) !important; }

.bottom-nav {
  background: rgba(4, 10, 22, .93) !important;
  border-top: 1px solid var(--gan-line) !important;
  backdrop-filter: blur(18px);
}

.bottom-nav-item { color: #aebbd0 !important; }
.bottom-nav-item.active, .bottom-nav-item:hover { color: var(--gan-gold-soft) !important; }

.gan-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1);
}

.gan-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 768px) {
  body { background-attachment: scroll; }
  .pd-media-card, .pd-info-card { border-radius: 16px !important; }
  .pd-title { font-size: clamp(1.55rem, 7vw, 2.2rem) !important; }
  .dbl-red-fixed-footer { border-radius: 16px 16px 0 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .gan-reveal { opacity: 1; transform: none; }
}
