/*
 * Polite Platform :: Shared Gallery Presentation
 * Path: /shared/gallery-presentation/static/presentation.css
 * Description: Shared branding and guest action appearance; scoped away from operator controls.
 * Author: Polite Platform Team
 * Date: 2026-09-23T11:05:48Z
 * Generated by: GPT-6 Codex
 */
.gallery-presentation { background-color:var(--gallery-background); color:var(--gallery-text); background-size:cover; background-position:center; }
.gallery-presentation [hidden] { display:none !important; }
.gallery-presentation [data-gallery-artwork] { display:grid; place-items:center; text-align:center; }
.gallery-presentation :is([data-gallery-artwork], [data-gallery-title-block], [data-gallery-frame], [data-gallery-actions], [data-gallery-footer], [data-gallery-legal]) { margin:0; box-sizing:border-box; }
.gallery-presentation [data-gallery-title-block], .gallery-presentation [data-gallery-title], .gallery-presentation [data-gallery-actions], .gallery-presentation [data-gallery-frame] { color:var(--gallery-text); }
.gallery-brand-image { display:block; width:100%; height:auto; object-fit:contain; object-position:center; margin-inline:auto; }
.gallery-presentation [data-gallery-artwork] a { display:block; width:100%; }
.gallery-presentation [data-gallery-frame] { border:0 solid var(--gallery-border); overflow:hidden; }
.gallery-presentation [data-gallery-title] { margin:0; text-align:center; overflow-wrap:anywhere; }
.gallery-presentation [data-gallery-footer] { display:block; color:var(--gallery-muted-text); text-align:center; overflow-wrap:anywhere; }
.gallery-presentation .gallery-guest-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:8px; padding:12px 24px; border:1px solid transparent; font:inherit; font-weight:600; background:var(--gallery-primary-action); color:var(--gallery-action-text); }
.gallery-presentation .gallery-guest-button[data-shape=pill] { border-radius:999px; }
.gallery-presentation .gallery-guest-button[data-shape=rounded] { border-radius:12px; }
.gallery-presentation .gallery-guest-button[data-shape=square] { border-radius:0; }
.gallery-presentation .gallery-guest-button[data-size=full] { width:100%; }
.gallery-presentation .gallery-guest-button[data-size=medium] { width:50%; padding-inline:12px; }
.gallery-presentation .gallery-guest-button span:not(.gallery-button-icon) { min-width:0; overflow-wrap:anywhere; }
.gallery-presentation .gallery-guest-button[data-size=compact] { padding-inline:14px; }
.gallery-presentation .gallery-guest-button[data-style=outline] { background:transparent; border-color:var(--gallery-primary-action); color:var(--gallery-primary-action); }
.gallery-presentation .gallery-guest-button[data-style=minimal] { background:transparent; color:var(--gallery-primary-action); }
.gallery-presentation .gallery-guest-button:focus-visible, .gallery-presentation [data-gallery-artwork] a:focus-visible { outline:3px solid var(--gallery-focus); outline-offset:3px; }
.gallery-button-icon { font-size:1.3em; line-height:1; }
.gallery-presentation [data-gallery-legal] { color:var(--gallery-muted-text); text-align:center; font-size:.875rem; overflow-wrap:anywhere; }
.gallery-presentation [data-gallery-legal] p { margin:0; }
.gallery-presentation [data-gallery-legal] nav { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 16px; }
.gallery-presentation [data-gallery-legal] a { display:inline-flex; align-items:center; min-height:44px; padding-inline:8px; color:inherit; text-decoration:underline; text-underline-offset:3px; }
.gallery-presentation [data-gallery-legal] a:focus-visible { outline:3px solid var(--gallery-focus); outline-offset:3px; }
.gallery-presentation [data-gallery-extra] { margin:0; box-sizing:border-box; color:var(--gallery-text); overflow-wrap:anywhere; text-align:center; }
.gallery-presentation [data-gallery-extra=text] { white-space:pre-wrap; }

/* Extra artwork is mounted only at the wide-screen breakpoint; mobile never requests it. */
.gallery-presentation.gallery-desktop-active { display:grid; grid-template-columns:var(--gallery-desktop-columns); column-gap:24px; align-content:start; width:var(--gallery-desktop-width); max-width:100%; padding-inline:28px; }
.gallery-presentation [data-gallery-center] { min-width:0; }
.gallery-presentation [data-gallery-desktop-slot] { min-width:0; align-self:start; }
