/* Shared styles for Audiobooks content pages. Mirrors the tokens in index.html. */
:root {
  --paper: #edeff2; --paper-2: #e4e6ea; --ink: #23262b; --ink-soft: #6c7079;
  --accent: #5e6169; --accent-deep: #3d4047; --line: rgba(35, 38, 43, 0.13); --card: #f9fafb;
  --grad-light: linear-gradient(135deg, #d1d4db, #999ca6);
  --grad-dark: linear-gradient(135deg, #5e6169, #3d4047);
  --grad-text: linear-gradient(135deg, #5e6169, #3d4047);
  --header-bg: rgba(237, 239, 242, 0.78);
  --serif: "Fraunces", Georgia, serif; --sans: "Hanken Grotesk", -apple-system, sans-serif;
  --radius: 16px;
}
:root.dark {
  --paper: #16171b; --paper-2: #1e2025; --ink: #e9eaee; --ink-soft: #9aa0aa;
  --accent: #aab0bb; --accent-deep: #c9ced6; --line: rgba(255, 255, 255, 0.10); --card: #212530;
  --grad-text: linear-gradient(135deg, #e7e9ed, #a9afb9);
  --header-bg: rgba(22, 23, 27, 0.72);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--paper); color: var(--ink); line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
.wrap { width: 100%; max-width: 760px; margin: 0 auto; padding: 0 28px; }
.gradtext { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* header */
header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); background: var(--header-bg); border-bottom: 1px solid var(--line); }
.nav { display: flex; align-items: center; justify-content: space-between; height: 66px; max-width: 1000px; margin: 0 auto; padding: 0 28px; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-family: var(--serif); font-size: 1.25rem; font-weight: 500; letter-spacing: -0.01em; }
.brand img { width: 28px; height: 28px; border-radius: 7px; display: block; }
.brand .hl { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nav-right { display: flex; align-items: center; gap: 14px; }
.nav-cta { font-size: 0.88rem; color: var(--accent); font-weight: 600; border: 1px solid var(--accent); padding: 7px 16px; border-radius: 999px; transition: all 0.2s ease; }
.nav-cta:hover { background: var(--accent); color: var(--paper); }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--ink-soft); cursor: pointer; transition: color 0.2s ease, border-color 0.2s ease; }
.theme-toggle:hover { color: var(--ink); border-color: var(--accent); }
.theme-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle .icon-sun { display: none; }
:root.dark .theme-toggle .icon-moon { display: none; }
:root.dark .theme-toggle .icon-sun { display: block; }

/* breadcrumb */
.crumb { font-size: 0.85rem; color: var(--ink-soft); padding-top: 34px; }
.crumb a { transition: color 0.2s ease; }
.crumb a:hover { color: var(--ink); }
.crumb span { opacity: 0.55; margin: 0 8px; }

/* hero */
.page-hero { padding: 24px 0 8px; }
.eyebrow { font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--accent); font-weight: 600; margin-bottom: 16px; }
h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(2.1rem, 5vw, 3.2rem); line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 18px; }
h1 em { font-style: italic; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lead { font-size: 1.18rem; color: var(--ink-soft); margin-bottom: 26px; }

/* app store button */
.btn-store { display: inline-flex; align-items: center; gap: 11px; background: var(--ink); color: var(--paper); padding: 13px 24px 13px 20px; border-radius: 999px; font-size: 1rem; font-weight: 600; transition: transform 0.2s ease; }
.btn-store:hover { transform: translateY(-2px); }
.btn-store svg { width: 19px; height: 19px; fill: var(--paper); }

/* prose */
.prose { padding: 22px 0 6px; }
.prose h2 { font-family: var(--serif); font-weight: 500; font-size: 1.6rem; letter-spacing: -0.01em; margin: 40px 0 14px; }
.prose h3 { font-size: 1.1rem; font-weight: 600; margin: 26px 0 8px; }
.prose p { margin-bottom: 16px; }
.prose ul { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.prose li { display: flex; gap: 11px; align-items: flex-start; }
.prose li::before { content: ""; flex: none; width: 7px; height: 7px; margin-top: 9px; border-radius: 50%; background: var(--accent); }
.prose a.inline { color: var(--accent); font-weight: 600; border-bottom: 1px solid var(--line); }
.prose a.inline:hover { border-color: var(--accent); }
.prose strong { font-weight: 600; }

/* comparison table */
.table-scroll { overflow-x: auto; margin: 18px 0 26px; }
table { border-collapse: collapse; width: 100%; font-size: 0.98rem; min-width: 440px; }
th, td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
thead th { font-weight: 600; }
tbody th { font-weight: 600; color: var(--ink-soft); }

/* cta band */
.cta-band { margin: 44px 0 8px; padding: 40px 32px; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius); text-align: center; }
.cta-band h2 { font-family: var(--serif); font-weight: 500; font-size: 1.55rem; margin-bottom: 8px; }
.cta-band p { color: var(--ink-soft); margin-bottom: 22px; }
.cta-band .btn-store { margin: 0 auto; }

/* faq */
.faq { padding: 30px 0 8px; }
.faq h2 { font-family: var(--serif); font-weight: 500; font-size: 1.6rem; margin-bottom: 18px; }
.faq-item { padding: 18px 0; border-top: 1px solid var(--line); }
.faq-item h3 { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; margin-bottom: 7px; }
.faq-item p { color: var(--ink-soft); }

/* related */
.related { padding: 32px 0; border-top: 1px solid var(--line); }
.related h2 { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-soft); margin-bottom: 16px; }
.related-links { display: flex; flex-wrap: wrap; gap: 10px; }
.related-links a { font-size: 0.95rem; border: 1px solid var(--line); padding: 8px 15px; border-radius: 999px; transition: border-color 0.2s ease; }
.related-links a:hover { border-color: var(--accent); }

/* footer */
footer { background: var(--grad-dark); padding: 24px 0; margin-top: 22px; }
.foot { max-width: 1000px; margin: 0 auto; padding: 0 28px; display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; color: rgba(255, 255, 255, 0.72); font-size: 0.85rem; }
.foot a { transition: color 0.2s ease; }
.foot a:hover { color: #fff; }
.foot-links { display: flex; gap: 18px; flex-wrap: wrap; }

@media (max-width: 600px) {
  .foot { flex-direction: column; justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
