/* ─────────────────────────────────────────────────────────────
   Nava — shared component styles (loaded on every page).
   Base tokens + critical body styles are inlined in each <head>
   for fast first paint; this file carries the rest.
   ───────────────────────────────────────────────────────────── */

:root{
  --paper:#FAF8F4; --ink:#1A1A1A; --muted:#5B554C;
  --line:#E4DECE; --oxblood:#7B2D26; --oxblood-dk:#5E211C;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
.font-serif{font-family:'Fraunces','Georgia',serif}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.05;
  letter-spacing:-0.01em;margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--oxblood);outline-offset:3px;border-radius:2px}

.container-x{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}
.rule{height:1px;background:var(--line);border:0}
.hairline{border-color:var(--line)}
.smallcaps{font-variant:all-small-caps;letter-spacing:.14em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:500;font-size:.95rem;padding:.8rem 1.6rem;border:1px solid var(--ink);
  transition:background .2s ease,color .2s ease,border-color .2s ease;cursor:pointer;
  font-family:inherit;text-align:center;line-height:1.2}
.btn-primary{background:var(--oxblood);border-color:var(--oxblood);color:#FBF7F0}
.btn-primary:hover{background:var(--oxblood-dk);border-color:var(--oxblood-dk)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-sm{padding:.6rem 1rem;font-size:.85rem}

/* Cards + interactive */
.cat-card,.book-card{transition:transform .2s ease,border-color .2s ease,background .2s ease}
.cat-card:hover{border-color:var(--ink);background:#fff}
.book-card{display:block}
.book-card:hover{transform:translateY(-4px)}
.lang-btn{cursor:pointer;font-weight:500;color:var(--muted);transition:color .2s ease;
  background:none;border:0;font-family:inherit;font-size:inherit;padding:.25rem}
.lang-btn[aria-pressed="true"]{color:var(--oxblood)}
.nav-link{position:relative;color:var(--muted);transition:color .2s ease}
.nav-link:hover{color:var(--ink)}
.nav-link[aria-current="page"]{color:var(--ink)}

/* Forms */
.field{background:#fff;border:1px solid var(--line);font-family:inherit;font-size:1rem;
  color:var(--ink);padding:.8rem 1rem;width:100%}
.field:focus{outline:2px solid var(--oxblood);outline-offset:0;border-color:var(--oxblood)}
.nl-input{background:#fff;border:1px solid var(--line)}
.nl-input:focus{outline:2px solid var(--oxblood);outline-offset:0;border-color:var(--oxblood)}

/* Cover image helper (keeps 3:4, no CLS) */
.cover{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line);background:#efe9da}

/* Catalog */
.filter-btn{display:block;width:100%;text-align:left;padding:.5rem .25rem;color:var(--muted);
  background:none;border:0;font-family:inherit;font-size:1rem;cursor:pointer;
  border-left:2px solid transparent;padding-left:.75rem;transition:color .2s ease,border-color .2s ease}
.filter-btn:hover{color:var(--ink)}
.filter-btn[aria-pressed="true"]{color:var(--oxblood);border-left-color:var(--oxblood)}
.select{background:#fff;border:1px solid var(--line);font-family:inherit;font-size:.95rem;
  color:var(--ink);padding:.55rem 2.2rem .55rem .9rem;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%235B554C' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center}
.select:focus{outline:2px solid var(--oxblood);outline-offset:0;border-color:var(--oxblood)}

/* Long-form prose (about / book description) */
.prose p{margin:0 0 1.1em;max-width:65ch}
.prose p:last-child{margin-bottom:0}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
}
