/* Guest-facing pages (share + gallery) and admin: scrolling documents, not the kiosk. */
.page { min-height: 100dvh; display: flex; flex-direction: column; }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--lf-line); }
.page-main { width: 100%; max-width: 1100px; margin: 0 auto; padding: 28px 16px 48px; flex: 1; }
.page-foot { border-top: 1px solid var(--lf-line); padding: 20px 16px; text-align: center; color: var(--lf-faint); font-size: 0.88rem; }
.page-foot a { color: var(--lf-muted); }
h1.lf-display { font-size: clamp(1.8rem, 5vw, 3rem); margin: 8px 0 12px; }

.share { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); max-width: 560px; margin: 0 auto; }
.share .art { border-radius: var(--lf-radius); box-shadow: 0 0 0 1px var(--lf-line-2), 0 30px 80px -30px rgba(0,0,0,.8); width: 100%; }
.tabs { display: inline-flex; border: 1px solid var(--lf-line); border-radius: var(--lf-radius); padding: 3px; gap: 3px; }
.tabs button { background: none; border: 0; padding: 8px 14px; border-radius: 4px; color: var(--lf-muted); font-size: 0.9rem; }
.tabs button[aria-pressed="true"] { background: var(--lf-surface-2); color: var(--lf-ink); }
.btns { display: grid; gap: 10px; }
.cta { padding: 20px; display: grid; gap: 8px; }
.cta p { margin: 0; }

.grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.grid a { display: block; border-radius: var(--lf-radius); overflow: hidden; border: 1px solid var(--lf-line); aspect-ratio: 3 / 4; background: var(--lf-surface); transition: transform .3s var(--lf-ease-out), border-color .2s; }
.grid a:hover { transform: translateY(-2px); border-color: var(--lf-accent); }
.grid img { width: 100%; height: 100%; object-fit: cover; }
.empty { padding: 40px 20px; text-align: center; color: var(--lf-muted); }
@media (min-width: 900px) { .share.wide { max-width: none; grid-template-columns: 1.2fr 1fr; align-items: start; } }
