/* Journal pages — layered on top of ../styles.css */
.j-nav { display: flex; align-items: center; gap: 20px; margin-inline-start: auto; }
.j-nav a:not(.btn) { text-decoration: none; font-weight: 500; font-size: .92rem; }
.article { max-width: 760px; padding-top: 48px; padding-bottom: 72px; }
.article .eyebrow a { color: inherit; text-decoration: none; }
.article h1 { font-size: clamp(2rem, 5vw, 3rem); }
.prose { font-size: 1.06rem; line-height: 1.75; }
.prose h2 { font-size: 1.5rem; margin-top: 1.8em; }
.prose ul, .prose ol { padding-inline-start: 1.3em; margin: 0 0 1.2em; }
.prose li { margin-bottom: .45em; }
.j-shop { margin-top: 48px; padding: 28px; background: var(--card-bg); border-radius: 18px; }
.j-shop h2 { font-size: 1.3rem; }
.j-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.j-product { display: flex; align-items: center; gap: 12px; text-decoration: none; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 10px; transition: transform .2s; }
.j-product:hover { transform: translateY(-2px); }
.j-product img { width: 64px; height: 64px; object-fit: contain; background: #fff; border-radius: 10px; flex-shrink: 0; }
.j-product > span { display: flex; flex-direction: column; font-size: .9rem; }
.j-more { margin-top: 32px; }
.j-more a { color: var(--gold); font-weight: 600; text-decoration: none; }
.j-list { display: grid; gap: 16px; margin-top: 24px; }
.j-list .post h3 { flex: none; }
.j-foot { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.j-foot p { margin: 0; }
