/*
 * Party Fry 2.0 brand layer - "Sunlit festival".
 * Shared tokens for the public site, customer, organizer and admin areas.
 * Light: warm cream, coral, deep navy. Dark: warm dusk, lighter coral.
 * Loaded after Evento's own CSS so it wins without editing the theme files.
 */

:root {
  --pf-bg: #FFF8EF;
  --pf-bg-2: #FFF1E2;
  --pf-surface: #FFFFFF;
  --pf-surface-2: #FFFAF4;
  --pf-ink: #16213E;
  --pf-ink-2: #5A6378;
  --pf-line: #F0E2D0;
  --pf-line-2: #E6D3BC;

  --pf-coral: #D2441B;          /* buttons with white text (AA) */
  --pf-coral-strong: #B53A15;
  --pf-coral-soft: #FFE6DA;
  --pf-coral-ink: #C2410C;       /* links on cream */
  --pf-on-coral: #FFFFFF;
  --pf-sun: #FFC53D;
  --pf-sun-soft: #FFF2CC;
  --pf-teal: #0F8A87;
  --pf-teal-ink: #0B7774;
  --pf-teal-soft: #D9F2F0;
  --pf-navy: #16213E;

  --pf-ok: #1E8E3E;
  --pf-warn: #B26A06;
  --pf-bad: #C62828;

  --pf-radius: 16px;
  --pf-radius-sm: 10px;
  --pf-radius-pill: 999px;
  --pf-shadow: 0 1px 2px rgba(22, 33, 62, .06), 0 8px 24px rgba(22, 33, 62, .07);
  --pf-shadow-lift: 0 2px 4px rgba(22, 33, 62, .08), 0 16px 40px rgba(210, 68, 27, .14);
  --pf-ease: cubic-bezier(.2, .7, .2, 1);

  --pf-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --pf-display: 'Bricolage Grotesque', 'DM Sans', system-ui, sans-serif;

  color-scheme: light;
}

/* Dusk: dark mode (public site via html[data-theme], dashboards via body[data-background-color]) */
html[data-theme="dark"],
body[data-background-color="dark"] {
  --pf-bg: #17141F;
  --pf-bg-2: #1D1926;
  --pf-surface: #221D2C;
  --pf-surface-2: #272132;
  --pf-ink: #F7EFE6;
  --pf-ink-2: #BDB3A8;
  --pf-line: #342C3D;
  --pf-line-2: #43394D;

  --pf-coral: #FF8A5C;
  --pf-coral-strong: #FFA27E;
  --pf-coral-soft: #3A2421;
  --pf-coral-ink: #FF9D75;
  --pf-on-coral: #1A1220;
  --pf-sun: #FFD166;
  --pf-sun-soft: #3A3120;
  --pf-teal: #3CC9C4;
  --pf-teal-ink: #5AD6D1;
  --pf-teal-soft: #17302F;

  --pf-ok: #6DD58C;
  --pf-warn: #FFC77D;
  --pf-bad: #FF8A8A;

  --pf-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);
  --pf-shadow-lift: 0 2px 4px rgba(0, 0, 0, .35), 0 16px 40px rgba(255, 138, 92, .12);

  color-scheme: dark;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* A visible focus ring everywhere */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--pf-sun);
  outline-offset: 2px;
}

/* Theme switch (public site header and dashboards) */
.pf-theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: var(--pf-radius-pill);
  border: 1.5px solid var(--pf-line-2); background: var(--pf-surface); color: var(--pf-ink);
  cursor: pointer; transition: transform .2s var(--pf-ease), border-color .2s;
  flex: 0 0 auto;
}
.pf-theme-toggle:hover { transform: rotate(-12deg); border-color: var(--pf-coral); }
.pf-theme-toggle svg { width: 18px; height: 18px; }
.pf-theme-toggle .pf-moon { display: none; }
html[data-theme="dark"] .pf-theme-toggle .pf-sun { display: none; }
html[data-theme="dark"] .pf-theme-toggle .pf-moon { display: block; }
