/* Instant Books — shared design system (loaded site-wide via _inject_site_chrome).
   Scoped to --ib-* tokens and .ib-* classes so it never overrides page styles. */
:root {
  --ib-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Palette — one consolidated scale (replaces the mixed #475467/#1d2939/#1f2937 grays) */
  --ib-bg: #f8fafc;
  --ib-surface: #ffffff;
  --ib-ink: #0f172a;     /* headings / strong text */
  --ib-ink-2: #334155;   /* body */
  --ib-ink-3: #64748b;   /* muted */
  --ib-line: #e2e8f0;    /* hairlines / borders */
  --ib-brand: #2563eb;   /* blue */
  --ib-green: #16a34a;
  --ib-green-strong: #15803d;

  /* Shape / depth / motion */
  --ib-radius: 12px;
  --ib-radius-lg: 18px;
  --ib-pill: 980px;
  --ib-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .10);
  --ib-shadow-md: 0 10px 30px rgba(15, 23, 42, .10);
  --ib-shadow-lg: 0 20px 50px rgba(15, 23, 42, .16);
  --ib-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ----- Apple-style button system (pill, restrained, springy) ----- */
.ib-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-family: var(--ib-font);
  font-weight: 600;
  font-size: .95rem;
  line-height: 1;
  padding: .72rem 1.3rem;
  border-radius: var(--ib-pill);
  border: 1px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .2s var(--ib-ease), box-shadow .2s var(--ib-ease),
    background-color .2s var(--ib-ease), color .2s var(--ib-ease);
}
.ib-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(37, 99, 235, .35); }
.ib-btn:active { transform: translateY(0) scale(.98); }

.ib-btn--primary { background: var(--ib-green); color: #fff; }
.ib-btn--primary:hover { background: var(--ib-green-strong); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(22, 163, 74, .30); }

.ib-btn--dark { background: var(--ib-ink); color: #fff; }
.ib-btn--dark:hover { background: #1e293b; transform: translateY(-1px); box-shadow: var(--ib-shadow-md); }

.ib-btn--ghost { background: rgba(15, 23, 42, .045); color: var(--ib-ink); }
.ib-btn--ghost:hover { background: rgba(15, 23, 42, .085); }

.ib-btn--sm { padding: .5rem 1rem; font-size: .9rem; }
.ib-btn--lg { padding: .95rem 1.7rem; font-size: 1.05rem; }

/* gentle global niceties (safe, non-overriding) */
html { scroll-behavior: smooth; }
::selection { background: rgba(37, 99, 235, .18); }
