/* =========================================================
   MOONGLOW RELIC — NORMAL CHARM STARFIELD THEME
   Applies only to the standard charm page.
   Halloween mode is intentionally excluded so the Halloween
   override can take over when ?halloween or ?from=halloween is used.
   ========================================================= */

body.charms-page:not(.halloween-mode) {
  --c-night: #0b0710;
  --c-night-2: #130b19;
  --c-plum: #25112d;
  --c-plum-soft: #38203f;
  --c-rose: #d79bbb;
  --c-rose-bright: #e7b5cd;
  --c-orchid: #a88bc9;
  --c-violet: #75629b;
  --c-gold: #d8bd83;
  --c-cream: #f8ece5;
  --c-muted: #cdbfc9;
  --c-line: rgba(216, 189, 131, .24);

  color: var(--c-cream);
  background-color: var(--c-night);
  background-image:
    radial-gradient(circle at 14% 14%, rgba(215,155,187,.15), transparent 22rem),
    radial-gradient(circle at 86% 12%, rgba(168,139,201,.15), transparent 24rem),
    radial-gradient(circle at 72% 74%, rgba(117,98,155,.10), transparent 26rem),

    radial-gradient(circle, rgba(255,255,255,.76) 0 1px, transparent 1.25px),
    radial-gradient(circle, rgba(216,189,131,.50) 0 1px, transparent 1.35px),
    radial-gradient(circle, rgba(215,155,187,.42) 0 .8px, transparent 1.15px);
  background-size:
    auto,
    auto,
    auto,
    116px 116px,
    181px 181px,
    263px 263px;
  background-position:
    0 0,
    0 0,
    0 0,
    18px 26px,
    72px 91px,
    121px 42px;
  background-attachment: fixed;
}

/* Header */
body.charms-page:not(.halloween-mode) .site-header {
  background: rgba(11,7,16,.91);
  border-bottom: 1px solid rgba(216,189,131,.15);
  backdrop-filter: blur(18px);
}

body.charms-page:not(.halloween-mode) .nav a,
body.charms-page:not(.halloween-mode) .menu-button,
body.charms-page:not(.halloween-mode) .header-socials a {
  color: var(--c-cream);
}

body.charms-page:not(.halloween-mode) .nav a:not(.shop-link)::after {
  background: linear-gradient(90deg, var(--c-rose), var(--c-gold));
}

body.charms-page:not(.halloween-mode) .shop-link {
  color: var(--c-cream);
  border-color: rgba(216,189,131,.52);
}

body.charms-page:not(.halloween-mode) .shop-link:hover {
  color: var(--c-night);
  background: var(--c-cream);
}

@media (max-width: 920px) {
  body.charms-page:not(.halloween-mode) .nav-left {
    background: rgba(11,7,16,.98);
    border-bottom-color: rgba(216,189,131,.15);
  }
}

/* Hero */
body.charms-page:not(.halloween-mode) .page-hero {
  position: relative;
  background:
    radial-gradient(circle at 50% 10%, rgba(168,139,201,.11), transparent 25rem);
}

body.charms-page:not(.halloween-mode) .page-hero::after {
  content: "✦   ☾   ✧";
  display: block;
  margin: 1.35rem auto 0;
  color: rgba(216,189,131,.72);
  font-family: var(--serif);
  font-size: .95rem;
  letter-spacing: .8em;
  text-indent: .8em;
}

body.charms-page:not(.halloween-mode) .page-hero h1,
body.charms-page:not(.halloween-mode) .page-hero h2 {
  color: var(--c-cream);
  text-shadow: 0 0 34px rgba(215,155,187,.08);
}

body.charms-page:not(.halloween-mode) .page-hero p {
  color: var(--c-muted);
}

body.charms-page:not(.halloween-mode) .eyebrow,
body.charms-page:not(.halloween-mode) .kicker {
  color: var(--c-rose);
}

body.charms-page:not(.halloween-mode) .eyebrow::before {
  color: var(--c-gold);
}

/* Oracle */
body.charms-page:not(.halloween-mode) .charm-oracle-section {
  background:
    radial-gradient(circle at 50% 45%, rgba(117,98,155,.14), transparent 34rem);
}

body.charms-page:not(.halloween-mode) .charm-oracle::before {
  inset: -25px 6% 20px;
  border-color: rgba(216,189,131,.31);
  box-shadow: 0 0 28px rgba(168,139,201,.07);
}

body.charms-page:not(.halloween-mode) .charm-oracle::after {
  inset: 20px -20px -25px;
  border-color: rgba(215,155,187,.25);
  box-shadow: 0 0 30px rgba(215,155,187,.05);
}

body.charms-page:not(.halloween-mode) .charm-card {
  background:
    radial-gradient(circle at 50% 16%, rgba(216,189,131,.10), transparent 16rem),
    radial-gradient(circle at 18% 25%, rgba(215,155,187,.10), transparent 16rem),
    radial-gradient(circle at 84% 72%, rgba(168,139,201,.10), transparent 20rem),
    linear-gradient(148deg, #2a1531 0%, #180d20 55%, #0c0811 100%);
  color: var(--c-cream);
  border-color: rgba(216,189,131,.40);
  box-shadow:
    0 30px 86px rgba(0,0,0,.44),
    inset 0 0 0 1px rgba(255,255,255,.02),
    inset 0 0 54px rgba(168,139,201,.025);
}

body.charms-page:not(.halloween-mode) .charm-card::before {
  color: var(--c-gold);
  text-shadow: 0 0 12px rgba(216,189,131,.20);
}

body.charms-page:not(.halloween-mode) .charm-card::after {
  color: var(--c-rose);
  text-shadow: 0 0 14px rgba(215,155,187,.18);
}

body.charms-page:not(.halloween-mode) .charm-seal {
  color: var(--c-gold);
  border-color: rgba(216,189,131,.54);
  background:
    radial-gradient(circle at 50% 45%, rgba(215,155,187,.06), transparent 55%),
    rgba(255,255,255,.018);
  box-shadow:
    inset 0 0 0 12px rgba(255,255,255,.012),
    0 0 34px rgba(168,139,201,.08);
}

body.charms-page:not(.halloween-mode) .charm-seal img {
  filter: brightness(0) invert(1) sepia(.08);
}

body.charms-page:not(.halloween-mode) .charm-card h2 {
  color: var(--c-cream);
}

body.charms-page:not(.halloween-mode) .charm-card .charm-prompt,
body.charms-page:not(.halloween-mode) .charm-message {
  color: var(--c-muted);
}

body.charms-page:not(.halloween-mode) .charm-meaning {
  color: #e1c593;
}

body.charms-page:not(.halloween-mode) .charm-keywords {
  color: var(--c-rose-bright);
}

body.charms-page:not(.halloween-mode) .charm-reset {
  color: #cabac6;
}

body.charms-page:not(.halloween-mode) .charm-reset:hover {
  color: var(--c-gold);
}

/* Buttons */
body.charms-page:not(.halloween-mode) .btn {
  color: var(--c-cream);
  border-color: rgba(216,189,131,.43);
}

body.charms-page:not(.halloween-mode) .btn-primary {
  color: var(--c-cream);
  background: linear-gradient(135deg, #78496f, #493052);
  border-color: rgba(216,189,131,.32);
}

body.charms-page:not(.halloween-mode) .btn:hover,
body.charms-page:not(.halloween-mode) .btn-primary:hover {
  box-shadow:
    0 12px 28px rgba(0,0,0,.30),
    0 0 20px rgba(215,155,187,.07);
}

body.charms-page:not(.halloween-mode) .btn-light {
  color: var(--c-cream);
  border-color: rgba(248,236,229,.70);
}

body.charms-page:not(.halloween-mode) .charm-card .btn-light:hover {
  color: #1a0e1d;
  background: var(--c-cream);
}

/* Content sections */
body.charms-page:not(.halloween-mode) .section-paper {
  background:
    linear-gradient(rgba(20,11,25,.94), rgba(20,11,25,.94)),
    radial-gradient(circle at 12% 10%, rgba(215,155,187,.07), transparent 19rem);
  border-color: rgba(216,189,131,.13);
}

body.charms-page:not(.halloween-mode) .section h2,
body.charms-page:not(.halloween-mode) .section h3 {
  color: var(--c-cream);
}

body.charms-page:not(.halloween-mode) .section-heading p,
body.charms-page:not(.halloween-mode) .charm-bundle p,
body.charms-page:not(.halloween-mode) .charm-details-grid p {
  color: var(--c-muted);
}

body.charms-page:not(.halloween-mode) .charm-bundle,
body.charms-page:not(.halloween-mode) .charm-details-card {
  position: relative;
  background:
    linear-gradient(145deg, rgba(35,19,42,.95), rgba(14,9,18,.96));
  border-color: rgba(216,189,131,.20);
  box-shadow:
    0 18px 48px rgba(0,0,0,.26),
    inset 0 0 0 1px rgba(255,255,255,.015);
}

body.charms-page:not(.halloween-mode) .charm-bundle::before,
body.charms-page:not(.halloween-mode) .charm-details-card::before {
  content: "✦";
  position: absolute;
  top: .7rem;
  left: .8rem;
  color: rgba(216,189,131,.39);
  font-size: .7rem;
}

body.charms-page:not(.halloween-mode) .charm-bundle::after,
body.charms-page:not(.halloween-mode) .charm-details-card::after {
  content: "☾";
  position: absolute;
  right: .8rem;
  bottom: .65rem;
  color: rgba(215,155,187,.33);
  font-family: var(--serif);
  font-size: .9rem;
}

body.charms-page:not(.halloween-mode) .charm-bundle-number,
body.charms-page:not(.halloween-mode) .charm-price {
  color: var(--c-gold);
}

body.charms-page:not(.halloween-mode) .charm-details-list li {
  border-top-color: rgba(216,189,131,.13);
}

body.charms-page:not(.halloween-mode) .charm-details-list strong {
  color: var(--c-rose);
}

body.charms-page:not(.halloween-mode) .signature {
  color: var(--c-rose-bright);
}

/* Email signup */
body.charms-page:not(.halloween-mode) .charm-result-signup {
  border-top-color: rgba(216,189,131,.17);
}

body.charms-page:not(.halloween-mode) .charm-result-signup > p {
  color: var(--c-muted);
}

body.charms-page:not(.halloween-mode) .moonglow-kit-form .formkit-input {
  color: var(--c-cream);
  border-color: rgba(216,189,131,.31);
  background: rgba(255,255,255,.032);
}

body.charms-page:not(.halloween-mode) .moonglow-kit-form .formkit-input::placeholder {
  color: rgba(248,236,229,.55);
}

body.charms-page:not(.halloween-mode) .moonglow-kit-form .formkit-input:focus {
  border-color: var(--c-rose);
  background: rgba(255,255,255,.05);
  box-shadow: 0 0 0 3px rgba(215,155,187,.09);
}

body.charms-page:not(.halloween-mode) .moonglow-subscribe {
  color: #170d18;
  border-color: rgba(216,189,131,.56);
  background: linear-gradient(180deg, #e2b2c7 0%, #ba7f9f 100%);
}

/* Newsletter */
body.charms-page:not(.halloween-mode) .section-dark {
  background:
    radial-gradient(circle at 50% 0%, rgba(168,139,201,.11), transparent 25rem),
    linear-gradient(145deg, #1b0f21, #09070d);
  border-top: 1px solid rgba(216,189,131,.11);
}

body.charms-page:not(.halloween-mode) .newsletter-wrap {
  border-color: rgba(216,189,131,.31);
  background:
    linear-gradient(145deg, rgba(37,19,45,.70), rgba(11,7,16,.62));
}

body.charms-page:not(.halloween-mode) .newsletter-wrap::before {
  content: "✦";
  color: var(--c-gold);
}

body.charms-page:not(.halloween-mode) .newsletter-wrap::after {
  content: "☾";
  color: var(--c-rose);
}

body.charms-page:not(.halloween-mode) .newsletter-wrap p {
  color: var(--c-muted);
}

/* Footer */
body.charms-page:not(.halloween-mode) .site-footer {
  background:
    radial-gradient(circle at 18% 0%, rgba(94,55,104,.14), transparent 22rem),
    #070509;
  border-top: 1px solid rgba(216,189,131,.10);
}

body.charms-page:not(.halloween-mode) .footer-heading {
  color: var(--c-gold);
}

body.charms-page:not(.halloween-mode) .footer-copy,
body.charms-page:not(.halloween-mode) .footer-script,
body.charms-page:not(.halloween-mode) .footer-links a {
  color: #c9bbc6;
}

/* Gentle star drift on larger screens */
@media (min-width: 921px) and (prefers-reduced-motion: no-preference) {
  body.charms-page:not(.halloween-mode) {
    animation: moonglowCharmStars 28s linear infinite alternate;
  }

  @keyframes moonglowCharmStars {
    from {
      background-position:
        0 0,
        0 0,
        0 0,
        18px 26px,
        72px 91px,
        121px 42px;
    }
    to {
      background-position:
        0 0,
        0 0,
        0 0,
        31px 38px,
        58px 78px,
        136px 55px;
    }
  }
}

@media (max-width: 640px) {
  body.charms-page:not(.halloween-mode) {
    background-size:
      auto,
      auto,
      auto,
      96px 96px,
      145px 145px,
      214px 214px;
  }

  body.charms-page:not(.halloween-mode) .page-hero::after {
    letter-spacing: .48em;
    text-indent: .48em;
  }
}
