/* Approved camera-pan identity. These shared tokens cover the main site,
   legal pages and installation UI without changing the cooking workflow. */
:root {
  --cma-paprika: #E55C3B;
  --cma-cream: #FFF6E8;
  --cma-aubergine: #382D34;
  --cma-paprika-text: #A83E25;
  --cma-peach: #FBE6DF;
  --bg: var(--cma-cream);
  --paper: #FFFFFF;
  --ink: var(--cma-aubergine);
  --muted: #75676A;
  --line: #E4D9CA;
  --soft: #F7EEE3;
  --accent: var(--cma-paprika);
  --accent-soft: var(--cma-peach);
  --warm: #F7EEE3;
  --shadow: 0 18px 55px rgba(56,45,52,.055);
}
body { background: var(--bg); color: var(--ink); }
.nav { height: 104px; gap: 14px; border-color: var(--line); }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.brand-logo { display: block; width: 202px; height: auto; }
.recipe-mini-logo { display: inline-flex; align-items: center; }
.recipe-mini-logo .brand-logo { width: 145px; }
.recipe-topbar-inner { min-height: 76px; }
.brand-dot { background: var(--accent); }
.hero h1 { letter-spacing: -.055em; }
.hero p,.stage-lead,.nav-link,.trust,.choice-head span,.loading,
.stage-footer .hint,.review-item small,.footer,.build-mark { color: var(--muted); }
.eyebrow,.stage-kicker { color: var(--cma-paprika-text); }
.trust span:before { background: var(--accent); }
.hero-cta,.primary,.generate-btn,.cook-btn,.install-done {
  background: var(--ink); border-color: var(--ink); color: var(--cma-cream);
  box-shadow: 0 2px 0 rgba(56,45,52,.14),0 5px 13px rgba(56,45,52,.07);
}
.hero-cta:hover,.primary:hover,.generate-btn:hover,.cook-btn:hover {
  background: #4A3944; border-color: #4A3944; color: var(--cma-cream);
  box-shadow: 0 3px 12px rgba(56,45,52,.12); filter: none;
}
.generate-btn:active { box-shadow: 0 1px 4px rgba(56,45,52,.1); }
.primary:disabled { background: #C7BDB7; border-color: #C7BDB7; box-shadow: none; }
.primary:disabled:hover { transform: none; }
.progress,.review,.card-index,.why,.chef { background: var(--bg); border-color: var(--line); }
.wizard,.card,.photo-thumb,.secondary,.option,.seg,.ingredient-chip,.vote,.cooked-btn,
.nav-cta,.results-status,.match-pill,.recipe-meta span { border-color: var(--line); }
.progress-step { color: var(--muted); border-color: var(--line); }
.progress-step.active,.option.active { background: var(--ink); color: var(--cma-cream); border-color: var(--ink); }
.progress-step.done,.seg.active,.vote.selected,.cooked-btn.selected,.match-pill {
  background: var(--accent-soft); border-color: #E9BBAC; color: var(--cma-paprika-text);
}
.seg,.ingredient-chip { color: var(--ink); }
.upload { background: #FFFBF5; border-color: #DCCCBD; }
.upload:hover { background: var(--paper); border-color: var(--accent); }
.upload-icon { width: 64px; height: 64px; background: transparent; border: 0; box-shadow: none; }
.upload-icon img { display: block; width: 60px; height: 60px; object-fit: contain; }
.manual-toggle,.detected,.stage-footer,.footer { border-color: var(--line); }
.footer-brand { display: flex; align-items: center; gap: 18px; }
.footer-logo { display: block; width: 144px; height: auto; flex-shrink: 0; }
.recipe-topbar { background: rgba(255,246,232,.94); border-color: var(--line); }
.food-safety-note { background: #FFFBF5; border-color: var(--line); }
.legal-card { border-color: var(--line); box-shadow: var(--shadow); }
.legal-page .nav { height: auto; min-height: 104px; flex-wrap: wrap; padding: 14px 0; }
.install-dialog { background: var(--bg); color: var(--ink); border-color: var(--line); }
.install-dialog p,.nav .install-button { color: var(--muted); }
.install-mark,.install-close { border-color: var(--line); }
.install-close { color: var(--ink); }
.install-hint,.nav .install-button:hover { background: var(--accent-soft); }
.nav .install-button:hover { border-color: var(--accent); }
.install-steps li::marker { color: var(--cma-paprika-text); }
button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,
.upload:focus-within { outline: 3px solid var(--cma-paprika-text); outline-offset: 3px; }
@media (max-width: 820px) {
  .nav { height: 90px; }
  .brand-logo { width: 180px; }
  .footer-brand { margin-bottom: 20px; }
}
@media (max-width: 480px) {
  .brand-logo { width: 158px; }
  .nav-right { gap: 8px; }
  .nav-cta { padding: 9px 11px; white-space: nowrap; }
  .nav.pwa-install-visible { padding-top: 12px; }
  .recipe-mini-logo .brand-logo { width: 132px; }
  .footer-brand { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-cta,.primary,.generate-btn,.cook-btn { transition: none; }
}
