/* Shanghai magnolia palette. Color only; layout stays in style.css / spacing.css. */
:root {
  --magnolia-white: #fbf9f2;
  --magnolia-shade: #edf2e9;
  --leaf-green: #3f674f;
  --leaf-deep: #264b3b;
  --leaf-ink: #243c30;
  --leaf-muted: #5d6c60;
  --brand-red: #b83e35;
  --brand-red-hover: #982e28;
  --pollen: #e8dcb9;
  --on-leaf-muted: #cedbcd;
  --leaf-line: #d2ddce;
  --control-line: #7b8d7b;
  --paper: var(--magnolia-white);
  --ink: var(--leaf-ink);
  --muted: var(--leaf-muted);
  --red: var(--brand-red);
  --red-dark: var(--brand-red-hover);
  --line: var(--leaf-line);
  --dark: var(--leaf-deep);
}

body, .site-header, .mobile-nav, .signature, .care, .stores {
  background-color: var(--magnolia-white);
}
.site-header { border-bottom-color: var(--leaf-line); }
.wordmark-text, .desktop-nav, .store-link { color: var(--leaf-deep); }
.wordmark-text small { color: var(--leaf-muted); }
.desktop-nav a::after { background-color: var(--leaf-green); }
.desktop-nav a:hover, .store-link:hover { color: var(--brand-red); }
.menu-toggle span { background-color: var(--leaf-deep); }
.mobile-nav { box-shadow: 0 20px 25px #243c301a; }
.mobile-nav a { color: var(--leaf-deep); }
::selection { color: var(--magnolia-white); background: var(--leaf-deep); }

.hero { background-color: var(--leaf-ink); }
.hero-shade {
  background: linear-gradient(90deg, #15271ff7 0%, #15271fdd 20%, #15271f85 42%, #15271f0a 72%),
    linear-gradient(0deg, #15271faa, transparent 35%);
}
.hero-eyebrow, .hero-copy { color: var(--magnolia-white); }
.hand-underline svg { stroke: var(--pollen); }
.fresh-stamp {
  color: var(--magnolia-white);
  background-color: #264b3bd9;
  border-color: #fbf9f2b8;
}
.fresh-stamp::before { border-color: #e8dcb98a; }
.hero-bottom { border-top-color: #fbf9f252; }
.fresh-ribbon { background-color: var(--leaf-green); }
.fresh-ribbon i { color: var(--pollen); }

.signature-heading h2 span, .product-notes .eyebrow,
.care-intro .eyebrow, .care-icon, .story-content .eyebrow,
.story-signoff, .store-index { color: var(--leaf-green); }
.product-poster { background-color: var(--leaf-deep); }
.poster-number { color: #fbf9f2bf; }
.text-link { color: var(--leaf-deep); border-color: var(--leaf-green); }
.text-link:hover { color: var(--brand-red); border-color: var(--brand-red); }

.daily { background-color: var(--leaf-deep); }
.daily-header > .eyebrow, .daily-header > p:last-child,
.daily-foot, .film-link small { color: var(--on-leaf-muted); }
.process-tabs { border-top-color: #cedbcd40; }
.process-tab { color: var(--on-leaf-muted); border-bottom-color: #cedbcd40; }
.process-tab small { opacity: 1; }
.process-tab:hover, .process-tab.is-selected { color: var(--magnolia-white); }
.process-tab.is-selected { border-bottom-color: var(--pollen); }
.process-tab.is-selected .step-no, .process-tab.is-selected .step-arrow { color: var(--pollen); }
.process-panel { background-color: var(--leaf-deep); }
.process-panel::after { background: linear-gradient(0deg, #132c20f2, transparent 65%); }
.process-panel.campaign-panel { background-color: #1e4032; }
.process-panel figcaption > span, .process-panel p { color: var(--on-leaf-muted); }
.film-link { border-bottom-color: var(--on-leaf-muted); }
.film-link:hover { color: var(--pollen); border-color: var(--pollen); }
.footage-label, .footage-play { background-color: #1e4032ed; border-color: #fbf9f280; }
.footage-play small { color: var(--on-leaf-muted); }
.footage-play:hover { background-color: var(--brand-red); }
.footage-play:hover small { color: var(--magnolia-white); }

.story, .footer { background-color: var(--magnolia-shade); }
.story-signoff { border-top-color: var(--leaf-line); }
.demo-label { background-color: var(--magnolia-shade); }
.round-arrow { color: var(--leaf-deep); border-color: var(--control-line); }
.round-arrow:hover { background-color: var(--leaf-green); border-color: var(--leaf-green); color: var(--magnolia-white); }
.partnership { background-color: var(--leaf-green); }
.partnership-star { color: #e8dcb921; }
.button-cream { color: var(--leaf-deep); background-color: var(--magnolia-white); }
.button-cream:hover { background-color: var(--pollen); }
.footer .wordmark-text small { color: var(--leaf-muted); }

.dialog::backdrop { background-color: #15271fb8; }
.dialog .eyebrow { color: var(--leaf-green); }
.demo-notice { background-color: var(--magnolia-shade); border-left-color: var(--leaf-green); }
.dialog input, .dialog select, .dialog textarea { border-color: var(--control-line); }
.dialog input::placeholder, .dialog textarea::placeholder { color: var(--leaf-muted); }
.form-success > span { background-color: var(--leaf-green); }
.film-dialog { background-color: var(--leaf-deep); }
.film-dialog .eyebrow, .film-dialog #film-description,
.film-dialog #film-status { color: var(--on-leaf-muted); }
.film-dialog video { background-color: #15271f; }
.film-dialog #film-file { color: var(--magnolia-white); border-color: var(--on-leaf-muted); }
.daily :focus-visible, .hero :focus-visible, .partnership :focus-visible,
.film-dialog :focus-visible { outline-color: var(--pollen); }

@media (max-width: 760px) {
  .hero-shade {
    background: linear-gradient(180deg, #15271ff2 0%, #15271fe0 17%, #15271fb3 36%, #15271f0d 65%, #15271fdb 100%),
      linear-gradient(90deg, #15271f69, transparent 60%);
  }
}
