/* Bridge: the old public views (docs, legal pages, contacts, login) in «Ember · Forge».
   They keep their markup and the old styles.css; this file, loaded after it, repaints them through
   styles.css's own custom properties plus the few places that hard-code the old dark/violet palette.
   Everything is scoped to body.s-legacy, so the private panel (projects, account…) is untouched.
   The header and footer come from includes/site.php (classes s-*, styled by site.css). */

body.s-legacy {
  --color-brand: #CF441C;
  --color-brand-hover: #B23A16;
  --color-brand-light: #B23A16;
  --color-brand-lighter: #B23A16;
  --color-brand-subtle: #E8552B;
  --color-brand-bg: #FDEEE8;
  --color-bg-page: #FAF8F4;
  --color-bg-card: #FFFFFF;
  --color-bg-input: #FFFFFF;
  --color-bg-elevated: #F4EEE4;
  --color-border: #E8E2D6;
  --color-border-hover: #DACEBB;
  --color-border-brand: #E8552B;
  --color-text-primary: #2A2D34;
  --color-text-heading: #0F1115;
  --color-text-secondary: #5E5346;
  --color-text-muted: #6E6150;
  --color-text-faint: #6E6150;
  --color-warning-text: #8A5A00;
  --font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --shadow-sm: 0 1px 2px rgba(38,31,24,.06);
  --shadow-md: 0 1px 2px rgba(38,31,24,.06), 0 8px 24px rgba(38,31,24,.07);
  --shadow-lg: 0 8px 24px rgba(38,31,24,.10);
  background: var(--s-paper);
  color: var(--color-text-primary);
  font-family: var(--s-font);
  -webkit-font-smoothing: antialiased;
}

/* Chrome: header and footer carry .s-body for the new layer's rules; give them its type. */
.s-legacy .s-top, .s-legacy .s-footer { font-family: var(--s-font); line-height: 1.6; }
.s-legacy .s-top { font-size: 17px; color: var(--s-ink); }
.s-legacy .s-top .s-wrap, .s-legacy .s-footer .s-wrap { max-width: var(--s-wrap); }
.s-legacy .s-footer ul { list-style: none; }
.s-legacy .s-footer { margin-top: clamp(48px, 7vw, 96px); }
.s-legacy .s-skip { position: absolute; }
.s-legacy ::selection { background: #FFD9C7; }

/* Cookie banner (ThemeForge_SEO prints it with inline styles): same look as on the new pages. */
body.s-legacy .tf-consent { background: var(--s-ink); color: var(--s-on-dark); border-color: #3A3D45; border-radius: var(--s-r-md); font-family: var(--s-font); }
body.s-legacy .tf-consent p { color: var(--s-on-dark-muted); }
body.s-legacy .tf-consent a { color: var(--s-glow); }
body.s-legacy .tf-consent button { border-radius: 999px; border-color: var(--s-on-dark); background: var(--s-on-dark); color: var(--s-ink); }
body.s-legacy .tf-consent button.tf-consent-decline { background: transparent; color: var(--s-on-dark); border-color: var(--s-on-dark); }

/* Buttons of the old layer */
body.s-legacy .btn-primary { background: var(--s-ember-btn); border-color: var(--s-ember-btn); color: #fff; border-radius: 999px; }
body.s-legacy .btn-primary:hover { background: var(--s-ember-btn-hover); border-color: var(--s-ember-btn-hover); }
body.s-legacy .btn-secondary { background: var(--s-surface); color: var(--s-ink); border: 1px solid var(--s-border); border-radius: 999px; }
body.s-legacy a { color: var(--s-ember-text); }
body.s-legacy .s-top a, body.s-legacy .s-footer a { color: inherit; }
body.s-legacy .s-top .s-btn-primary { color: #fff; }
body.s-legacy code { font-family: var(--s-mono); }

/* Legal pages and contacts (their views carry inline <style> in the old dark palette) */
body.s-legacy.legal-page { background: var(--s-paper); color: var(--s-ink); }
body.s-legacy .legal-content { max-width: 760px; padding: clamp(36px, 6vw, 72px) clamp(16px, 4vw, 32px) 24px; }
body.s-legacy .legal-content h1 { color: var(--s-ink); font-size: clamp(32px, 4.4vw, 44px); font-weight: 800; letter-spacing: -.035em; line-height: 1.1; }
body.s-legacy .legal-content h2 { color: var(--s-ink); font-weight: 700; letter-spacing: -.02em; }
body.s-legacy .legal-content h3 { color: var(--s-steel); }
body.s-legacy .legal-content p, body.s-legacy .legal-content li { color: var(--s-muted); font-size: 16px; }
body.s-legacy .legal-content strong, body.s-legacy .legal-content b { color: var(--s-ink); }
body.s-legacy .legal-content .legal-date { color: var(--s-soft); font-family: var(--s-mono); font-size: 13px; }
body.s-legacy .legal-content a { color: var(--s-ember-text); }
body.s-legacy .legal-content a:hover { text-decoration: underline; }
body.s-legacy .legal-cross-links { background: var(--s-surface); border: 1px solid var(--s-hair); border-left: 4px solid var(--s-ember); border-radius: var(--s-r-md); }
body.s-legacy .legal-cross-links strong { color: var(--s-ember-text); font: 600 12px/1.6 var(--s-mono); text-transform: uppercase; letter-spacing: .1em; }
body.s-legacy .legal-cross-links a { color: var(--s-ember-text); }
body.s-legacy .contacts-card { background: var(--s-surface); border: 1px solid var(--s-hair); border-radius: var(--s-r-lg); }
body.s-legacy .contacts-label { color: var(--s-soft); }
body.s-legacy .contacts-value { color: var(--s-ink); }
body.s-legacy .contacts-value a, body.s-legacy .contacts-legal-note a { color: var(--s-ember-text); }
body.s-legacy .contacts-details summary { color: var(--s-ink); }
body.s-legacy .contacts-cta { background: var(--s-surface); border: 2px solid var(--s-ember); border-radius: var(--s-r-xl); box-shadow: var(--s-shadow); }
body.s-legacy .contacts-cta-icon { background: var(--s-ember-tint); color: var(--s-ember-text); }
body.s-legacy .contacts-cta h2 { color: var(--s-ink); }
body.s-legacy .contacts-cta p { color: var(--s-muted); }
body.s-legacy .contacts-cta-btn { background: var(--s-ember-btn); border-radius: 999px; box-shadow: var(--s-shadow-ember); }
body.s-legacy .contacts-cta-btn:hover { background: var(--s-ember-btn-hover); box-shadow: var(--s-shadow-ember); }
body.s-legacy .contacts-legal-note { color: var(--s-soft); }

/* Login / register: the card under the header instead of a full-screen centred box */
body.s-legacy.auth-page { display: block; background: var(--s-paper); min-height: 0; }
body.s-legacy .auth-container { margin: clamp(32px, 6vw, 72px) auto 0; max-width: 440px; padding: 0 16px; }
body.s-legacy .auth-card { border: 1px solid var(--s-hair); border-radius: var(--s-r-xl); box-shadow: var(--s-shadow); }
body.s-legacy .auth-header .auth-logo { display: none; }
body.s-legacy .auth-header h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.s-legacy .auth-header { margin: 0; }
body.s-legacy .auth-form h2 { color: var(--s-ink); font-size: 24px; font-weight: 800; letter-spacing: -.03em; }
body.s-legacy .auth-field input { border-color: var(--s-border); border-radius: 10px; font-family: var(--s-font); }
body.s-legacy .auth-field input:focus { border-color: var(--s-ember); box-shadow: 0 0 0 3px var(--s-ember-tint); outline: none; }
body.s-legacy .auth-switch a, body.s-legacy .auth-captcha label span { color: var(--s-ember-text); }
body.s-legacy .auth-container .lang-dropdown { display: none; }

/* Docs: the old reference used light-grey text on a dark page */
body.s-legacy .attr-desc, body.s-legacy .attr-placement, body.s-legacy .attr-value-desc,
body.s-legacy .attr-intro-note, body.s-legacy .ref-list { color: var(--s-muted); }
body.s-legacy .ref-table th { border-bottom-color: var(--s-border); }
body.s-legacy .guide-section h2 { color: var(--s-ink); }
body.s-legacy .docs-nav-divider { color: var(--s-ember-text) !important; }
body.s-legacy .docs-tabs { border-bottom-color: var(--s-hair); }

/* The old layer colours links and spans globally; pin the footer's own palette. */
body.s-legacy .s-footer, body.s-legacy .s-footer span, body.s-legacy .s-footer a, body.s-legacy .s-footer a:visited { color: var(--s-on-dark-muted); }
body.s-legacy .s-footer a:hover, body.s-legacy .s-footer .s-brand, body.s-legacy .s-footer .s-fh,
body.s-legacy .s-footer .s-base a[aria-current="true"] { color: var(--s-on-dark); }
body.s-legacy .s-top a:visited { color: inherit; }
body.s-legacy .s-top .s-nav > a { color: var(--s-muted); }
body.s-legacy .s-top .s-nav > a:hover, body.s-legacy .s-top .s-nav > a[aria-current="page"], body.s-legacy .s-top .s-login, body.s-legacy .s-top .s-brand { color: var(--s-ink); }

/* Phone width: the docs tab strip scrolls inside itself, long code and tag rows wrap. */
@media (max-width: 760px) {
  body.s-legacy .docs-tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  body.s-legacy .docs-tab { flex: 0 0 auto; }
  body.s-legacy main code { overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
  body.s-legacy .attr-card { min-width: 0; }
  body.s-legacy .attr-card-header, body.s-legacy .attr-card > div { flex-wrap: wrap; min-width: 0; }
  body.s-legacy .container { overflow-x: clip; }
}
