/* Uppercut One — theme hooks.
   Colours and fonts are applied at runtime by theme.js as CSS variables on
   <html>, so this file stays small: shared bits for the theme picker and
   for venue logos. Page palettes remain in each page; theme.js overrides
   them per venue. */
.uc-presets { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.uc-preset { border-radius: 8px; padding: 9px 12px; font: inherit; font-size: 0.85rem; font-weight: 600; cursor: pointer; min-height: 40px; }
.uc-theme-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-top: 10px; }
.uc-theme-row label { display: inline-flex; align-items: center; gap: 8px; font-size: 0.85rem; color: var(--text-muted, #a8a8a8); }
.uc-theme-row input[type="color"] { width: 40px; height: 32px; border: 1px solid var(--line, #3a3a3a); border-radius: 6px; background: var(--bg, #121212); padding: 2px; cursor: pointer; }
.uc-theme-row select { background: var(--bg, #121212); color: var(--text, #fff); border: 1px solid var(--line, #3a3a3a); border-radius: 6px; padding: 6px 8px; font: inherit; }
img[data-venue="logo"] { max-height: 34px; width: auto; display: inline-block; vertical-align: middle; }
img[data-venue="logo"][hidden] { display: none; }

/* One word of a venue's name in its accent colour — see venue.accent_word. */
.uc-accent-word { font-style: normal; color: var(--accent, var(--color-accent, currentColor)); }

/* Nothing that names a venue paints until the venue is known - see theme.js.
   Covers the data-venue fields, the marketing-site header on the booking
   page, the admin and calendar header logos, and the menu's masthead. */
html.uc-venue-pending [data-venue],
html.uc-venue-pending .site-header,
html.uc-venue-pending .header-logo-wrap,
html.uc-venue-pending .menu-header { visibility: hidden !important; }

/* Venues without a logo image show their name instead. Shared by every page
   with a header-logo-wrap; the calendar page defined it first. */
.header-wordmark { font-family: var(--font-display, inherit); font-weight: 700; font-size: 1.15rem; color: var(--color-text, var(--text, #fff)); letter-spacing: -.01em; display: none; }
.header-logo-wrap img[hidden] + .header-wordmark { display: inline-block; }
