/* v7-social — the layout lives inline on the elements (faithful to the design source);
   this file carries what inline styles cannot: base rules, hover/active states,
   the interactive states driven by js/script.js, the legal pages and the game-page tokens. */

html, body { margin: 0; padding: 0; background: #F4F1EA; color: #1B1A17; font-family: 'IBM Plex Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { color: #30ce61; text-decoration: none; }
a:hover { color: #1B1A17; text-decoration: underline; }
button { font-family: inherit; }
html { scroll-behavior: smooth; }
[hidden] { display: none !important; }

/* Buttons (hover states from the source's style-hover attributes) */
.v7-btn { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.v7-btn-dark:hover { background: #30ce61 !important; color: #F4F1EA !important; text-decoration: none; }
.v7-btn-green:hover { background: #1B1A17 !important; color: #F4F1EA !important; text-decoration: none; }
.v7-btn-outline:hover { background: #1B1A17 !important; color: #F4F1EA !important; text-decoration: none; }
.v7-brand:hover, .v7-nav a:hover, .v7-footer-nav a:hover { text-decoration: none; color: #30ce61 !important; }
.v7-pick { transition: border-color .15s ease; }
.v7-pick:hover { border-color: #30ce61 !important; text-decoration: none; color: #1B1A17; }

/* Segmented controls (filter / sort) */
.v7-seg button { background: #FFFFFF; color: #1B1A17; }
.v7-seg button.is-active { background: #1B1A17; color: #F4F1EA; }
.v7-seg button:not(.is-active):hover { background: #F4F1EA; }

/* Cards */
.v7-card.is-hidden { display: none; }

/* FAQ */
.v7-faq-q:focus-visible { outline: 2px solid #30ce61; outline-offset: 2px; border-radius: 4px; }

/* Legal pages */
.v7-legal { max-width: 760px; margin: 0 auto; padding: 64px 24px 80px; }
.v7-legal h1 { margin: 0 0 12px; font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: clamp(36px, 5vw, 56px); line-height: 1.05; letter-spacing: -0.02em; }
.v7-legal .v7-lead { margin: 0 0 40px; font-size: 18px; color: #4A4740; text-wrap: pretty; }
.v7-legal h2 { margin: 36px 0 10px; font-family: 'Newsreader', Georgia, serif; font-weight: 500; font-size: 24px; line-height: 1.15; }
.v7-legal p, .v7-legal li { font-size: 16px; color: #4A4740; margin: 0 0 12px; }
.v7-legal ul { margin: 0 0 12px; padding-left: 22px; }
.v7-legal a { text-decoration: underline; }

/* Small screens */
@media (max-width: 640px) {
  .v7-header > div { gap: 12px; }
  .v7-nav { gap: 14px; }
}

/* Game pages (/games/, styled by games/shared/games.css) read these tokens */
:root {
  --gm-bg: #F4F1EA;
  --gm-bg-2: #FFFFFF;
  --gm-surface: #FFFFFF;
  --gm-surface-2: #F4F1EA;
  --gm-line: #DDD8CC;
  --gm-line-2: #B9B3A5;
  --gm-text: #1B1A17;
  --gm-muted: #6B675E;
  --gm-accent: #30ce61;
  --gm-accent-bright: #30ce61;
  --gm-accent-soft: rgba(47, 93, 70, 0.14);
  --gm-accent-line: rgba(47, 93, 70, 0.40);
  --gm-radius: 10px;
  --gm-display: 'Newsreader', Georgia, serif;
  --gm-body: 'IBM Plex Sans', system-ui, sans-serif;
  --gm-sq-light: #EEEED2;
  --gm-sq-dark: #769656;
  --gm-board-edge: rgba(0, 0, 0, 0.25);
  --gm-piece-w: #FFFFFF;
  --gm-piece-b: #1B1A17;
}
