/* go-page.css — a hosted QR page in the member portal (#go/<slug>, go-page.js, 2026-10-15). Tokens only. */
#tab-go-page .go-page { display: grid; justify-items: center; padding: var(--oecta-space-lg) var(--oecta-space-md); }
#tab-go-page .go-page__card {
    inline-size: 100%; max-inline-size: 560px; box-sizing: border-box; display: grid; gap: var(--oecta-space-md);
    padding: var(--oecta-space-xl) var(--oecta-space-lg); background: var(--oecta-surface-lowest);
    border-radius: var(--oecta-radius-xl); box-shadow: var(--oecta-shadow-sm);
}
#tab-go-page .go-page__card--note { justify-items: center; text-align: center; }
#tab-go-page .go-page__icon { font-size: 40px; color: var(--oecta-primary-text); }
#tab-go-page .go-page__title { margin: 0; font: 800 1.5rem/1.25 var(--oecta-font-display); color: var(--oecta-primary-text); text-wrap: balance; }
#tab-go-page .go-page__title:focus { outline: none; }
#tab-go-page .go-page__text { margin: 0; color: var(--oecta-on-surface-variant); overflow-wrap: anywhere; }
#tab-go-page .go-page__buttons { display: grid; gap: var(--oecta-space-sm); margin-block-start: var(--oecta-space-xs); }
#tab-go-page .go-page__btn { justify-content: center; min-block-size: 48px; text-decoration: none; }
#tab-go-page .go-page__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--oecta-space-sm); }
/* a PDF page (2026-10-18): the file's name and size, then Open the PDF / Download */
#tab-go-page .go-page__file { display: flex; flex-wrap: wrap; align-items: center; gap: var(--oecta-space-sm); padding: var(--oecta-space-sm) var(--oecta-space-md); border-radius: var(--oecta-radius-lg); background: var(--oecta-surface-container); overflow-wrap: anywhere; }
#tab-go-page .go-page__file .material-icons { font-size: 32px; color: var(--oecta-primary-text); }
#tab-go-page .go-page__file > span:nth-child(2) { display: grid; gap: 2px; min-inline-size: 0; flex: 1; }
#tab-go-page .go-page__file-acts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--oecta-space-sm); flex-basis: 100%; }
#tab-go-page .go-page__file small { color: var(--oecta-on-surface-variant); }
#tab-go-page .go-page__msg:empty { display: none; }
/* a Photos page (2026-10-18): a grid of square thumbnails; a tap opens the photo in a dialog */
#tab-go-page .go-page__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: var(--oecta-space-sm); }
#tab-go-page .go-page__photo { padding: 0; border: 0; border-radius: var(--oecta-radius-md); overflow: hidden; background: var(--oecta-surface-container); cursor: zoom-in; aspect-ratio: 1; }
#tab-go-page .go-page__photo img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
#tab-go-page .go-page__photo:focus-visible { outline: none; box-shadow: var(--oecta-focus-ring); }
#tab-go-page .go-page__photo--missing { cursor: default; }
/* Event photos (2026-10-18): wider previews (they are 4:3), and the viewer's Save / Close */
#tab-go-page .go-page__grid--wide { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
#tab-go-page .go-page__grid--wide .go-page__photo { aspect-ratio: 4 / 3; }
#tab-go-page .go-page__small { font-size: var(--oecta-text-sm); }
#tab-go-page .go-page__viewer { max-inline-size: min(96vw, 1100px); border: 0; border-radius: var(--oecta-radius-lg); padding: var(--oecta-space-md); background: var(--oecta-surface-lowest); }
#tab-go-page .go-page__viewer::backdrop { background: color-mix(in srgb, var(--oecta-primary) 80%, transparent); }
#tab-go-page .go-page__viewer img { display: block; max-inline-size: 100%; max-block-size: 78vh; margin: 0 auto var(--oecta-space-sm); object-fit: contain; }
#tab-go-page .go-page__viewer[open] { display: grid; justify-items: center; gap: var(--oecta-space-sm); }
/* a video page (2026-10-19): each video 16:9, full width, its name above and "Watch on …" below */
#tab-go-page .go-page__video { display: grid; gap: var(--oecta-space-xs); }
#tab-go-page .go-page__frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--oecta-radius-lg); overflow: hidden; background: var(--oecta-contrast-ink); }
#tab-go-page .go-page__frame iframe { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
