/* OnePlace — base layer: resets, document defaults, link styling, brand helpers.
   Foundations only; component styling lives with the React components. */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  font: var(--text-body);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Headings default to the display family; sizes set per-use */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-tight);
  color: var(--text-primary);
  text-wrap: balance;
}

p { margin: 0; text-wrap: pretty; }

/* Links */
a { color: var(--text-link); text-decoration: none; transition: color var(--dur-fast) var(--ease-standard); }
a:hover { color: var(--text-link-hover); }

/* Selection */
::selection { background: var(--op-blue-tint); color: var(--op-ink); }

/* Focus visibility */
:focus-visible { outline: 2px solid var(--op-blue); outline-offset: 2px; }

/* Eyebrow / label helper */
.op-eyebrow {
  display: inline-block;
  font: var(--text-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--ls-caps);
  color: var(--brand);
}

/* Blue accent word inside headings (matches marketing usage) */
.op-accent { color: var(--brand); }
.op-accent-lilac { color: var(--op-purple); }

/* Material Symbols Rounded glyph (filled). Usage: <span class="op-symbol">restaurant</span> */
.op-symbol { font-family: "Material Symbols Rounded"; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: "liga"; font-feature-settings: "liga"; font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24; display: inline-block; }

/* Container helper */
.op-container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
