/* Shared styles for Anime Mochi content pages (About, Privacy, Terms, Contact)
   and the shared footer + cookie banner used across the whole site. */
:root { color-scheme: dark; }
* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh; min-height: 100dvh;
  font-family: system-ui, -apple-system, sans-serif;
  background: #1e2330; color: #e7ebf3; line-height: 1.65;
  display: flex; flex-direction: column;
}
a { color: #5cd2da; }
a:hover { color: #8be6ec; }

/* ---- header ---- */
.site-header {
  display: flex; align-items: center;
  padding: 16px 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.site-header .brand {
  font-weight: 800; font-size: 19px; color: #fff; text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
}

/* ---- article ---- */
.page { width: 100%; max-width: 760px; margin: 0 auto; flex: 1 0 auto; padding: 28px 20px 56px; }
.page h1 { font-size: 30px; margin: 6px 0 4px; line-height: 1.2; }
.page h2 { font-size: 21px; margin: 34px 0 10px; }
.page h3 { font-size: 17px; margin: 22px 0 8px; }
.page p, .page li { font-size: 16px; color: #d2d8e4; }
.page ul { padding-left: 22px; }
.page li { margin: 6px 0; }
.page strong { color: #eef1f7; }
.page .updated { color: #8b93a6; font-size: 14px; margin: 0 0 8px; }

/* ---- footer (shared site-wide) ---- */
.site-footer {
  width: 100%; flex-shrink: 0; border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 24px 20px 30px; text-align: center; color: #9aa3b5; font-size: 14px;
}
.site-footer nav {
  display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: center; margin-bottom: 12px;
}
.site-footer nav a { color: #c3cad8; text-decoration: none; }
.site-footer nav a:hover { color: #fff; }

/* ---- cookie banner (shared site-wide) ---- */
#cookie-banner {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50;
  max-width: 860px; margin: 0 auto;
  background: #262c3b; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 14px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45);
  padding: 14px 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;
  font-size: 14px; color: #d2d8e4;
}
#cookie-banner p { margin: 0; flex: 1 1 280px; }
#cookie-banner button {
  border: none; border-radius: 999px; padding: 9px 18px; font-weight: 700; font-size: 14px;
  background: #4ec0ca; color: #06222a; cursor: pointer;
}
#cookie-banner button:active { transform: scale(0.97); }
