/* Inner pages (review, legal, page.php, 404) — from the mockup inline <style>. */
.page { min-height: 100svh; padding: var(--s-400) 0 var(--s-800); }
.page__top { display: flex; align-items: center; justify-content: space-between; gap: var(--s-200); margin-bottom: var(--s-700); }
.page__card { max-width: 720px; margin: 0 auto; padding: var(--s-500) var(--s-300); background: var(--white); border: 1px solid var(--line); border-radius: var(--r-3xl); }
@media (min-width: 640px) { .page__card { padding: var(--s-600); } }
.page__card h1 { margin-bottom: var(--s-200); }
.page__card > p { color: var(--text-2); }
.stars { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: var(--s-50); }
.stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.stars label { color: var(--line-2); cursor: pointer; transition: color 300ms var(--ease), transform 300ms var(--ease); }
.stars label .icon { width: 36px; height: 36px; }
.stars label:hover, .stars label:hover ~ label, .stars input:checked ~ label { color: var(--gold); }
.stars label:active { transform: scale(0.92); }
.stars input:focus-visible + label { outline: 2px solid var(--gold-2); border-radius: var(--r-md); }
.legal h2 { font-size: 20px; line-height: 28px; font-weight: 700; margin: var(--s-400) 0 var(--s-75); }
.legal p, .legal li { color: var(--text-2); }
.legal ul { list-style: disc; padding-left: var(--s-300); display: grid; gap: var(--s-50); }

/* Shared fixed header now sits above inner pages: keep content clear of it. */
.page { padding-top: calc(var(--s-400) + 96px); }
