/* GERADO por design/build_tokens.py a partir de design/tokens.json. Não editar à mão. */
:root {
  --color-navy: #0B1F3A;
  --color-ocean: #0A6EBD;
  --color-lagoon: #1F6FD8;
  --color-sand: #FAF6EC;
  --color-link: #1F6FD8;
  --color-gold: #B78D00;
  --color-gold-text: #8A6A00;
  --color-sky: #3A8BEB;
  --color-bg: #FFFFFF;
  --color-bg-subtle: #F5F7F9;
  --color-surface: #FFFFFF;
  --color-ink: #13202F;
  --color-muted: #5B6B7D;
  --color-line: #E2E6EA;
  --color-on-brand: #FFFFFF;
  --color-on-lagoon: #FFFFFF;
  --color-on-brand-muted: #C9D6E6;
  --color-success: #1A8347;
  --color-success-soft: #E7F6EE;
  --color-warning: #A46800;
  --color-warning-soft: #FFF3DC;
  --color-danger: #C0392B;
  --color-danger-soft: #FDECEA;
  --color-neutral: #66758A;
  --color-inactive: #6E767F;
  --color-success-text: #14693A;
  --color-warning-text: #835300;
  --color-danger-text: #A12D21;
  --color-status-open: var(--color-success);
  --color-status-few-spots: var(--color-warning);
  --color-status-on-hold: var(--color-neutral);
  --color-status-sold-out: var(--color-danger);
  --color-status-closed: var(--color-inactive);
  --color-status-new: var(--color-ocean);
  --color-status-confirmed: var(--color-success);
  --color-status-declined: var(--color-danger);
  --color-status-cancelled: var(--color-inactive);
  --font-display: "Bodoni Moda", Didot, "Bodoni 72", Georgia, serif;
  --font-text: "Manrope", system-ui, -apple-system, sans-serif;
  --type-hero: 400 56px/60px var(--font-display);
  --type-h1: 400 40px/46px var(--font-display);
  --type-h2: 400 30px/36px var(--font-display);
  --type-h3: 600 20px/28px var(--font-text);
  --type-body: 400 17px/27px var(--font-text);
  --type-body-strong: 600 17px/27px var(--font-text);
  --type-small: 400 15px/22px var(--font-text);
  --type-caption: 400 13px/18px var(--font-text);
  --type-label: 600 12px/16px var(--font-text);
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --space-3xl: 48px;
  --space-4xl: 64px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --size-touch: 44px;
  --size-gutter: 16px;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --color-sand: #0D1E35;
  --color-link: #7DB8FF;
  --color-gold: #E0B83A;
  --color-gold-text: #D9AE2B;
  --color-sky: #7DB8FF;
  --color-bg: #081629;
  --color-bg-subtle: #0B1B31;
  --color-surface: #10233D;
  --color-ink: #E8EEF5;
  --color-muted: #9FB0C3;
  --color-line: #22344D;
  --color-success-soft: #123826;
  --color-warning-soft: #3A2A0A;
  --color-danger-soft: #3A1714;
  --color-success-text: #8FE0B0;
  --color-warning-text: #F5C76E;
  --color-danger-text: #F5A39A;
  }
}
:root[data-theme="dark"] {
  --color-sand: #0D1E35;
  --color-link: #7DB8FF;
  --color-gold: #E0B83A;
  --color-gold-text: #D9AE2B;
  --color-sky: #7DB8FF;
  --color-bg: #081629;
  --color-bg-subtle: #0B1B31;
  --color-surface: #10233D;
  --color-ink: #E8EEF5;
  --color-muted: #9FB0C3;
  --color-line: #22344D;
  --color-success-soft: #123826;
  --color-warning-soft: #3A2A0A;
  --color-danger-soft: #3A1714;
  --color-success-text: #8FE0B0;
  --color-warning-text: #F5C76E;
  --color-danger-text: #F5A39A;
}

/* Componentes base: os mesmos nomes no site e no Admin. */
.chip { display: inline-block; font: var(--type-label); text-transform: uppercase; letter-spacing: 0.12em;
  padding: 3px 9px; border-radius: var(--radius-pill); color: #fff; white-space: nowrap; }
.chip-Open, .status-Open { background: var(--color-status-open); }
.chip-FewSpots, .status-FewSpots { background: var(--color-status-few-spots); }
.chip-OnHold, .status-OnHold { background: var(--color-status-on-hold); }
.chip-SoldOut, .status-SoldOut { background: var(--color-status-sold-out); }
.chip-Closed, .status-Closed { background: var(--color-status-closed); }
.chip-New, .status-New { background: var(--color-status-new); }
.chip-Confirmed, .status-Confirmed { background: var(--color-status-confirmed); }
.chip-Declined, .status-Declined { background: var(--color-status-declined); }
.chip-Cancelled, .status-Cancelled { background: var(--color-status-cancelled); }
