/* Design system RESTOULOUSE — commun aux pages publiques et aux espaces de gestion */
:root {
  --r64-brand-ink: #102033;
  --r64-brand-navy: #07172f;
  --r64-brand-orange: #e95b16;
  --r64-brand-orange-dark: #bd4510;
  --r64-page: #f8f5ef;
  --r64-surface: #ffffff;
  --r64-border: #e9e2d8;
  --r64-muted: #68758b;
  --r64-card-radius: 15px;
  --r64-card-shadow: 0 6px 20px rgba(16, 32, 51, .055);
}

/* Pages rendues par le header public partagé */
body:not(.text-white):not(.r64p-body):not(.creator-studio-body):not(.bg-slate-900):not(.bg-slate-950):not(.bg-gray-900):not(.bg-neutral-900):not(.bg-black) {
  background-color: var(--r64-page);
  color: var(--r64-brand-ink);
}
body:not(.text-white):not(.r64p-body):not(.creator-studio-body) :is(h1, h2) {
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.025em;
}
body:not(.text-white):not(.r64p-body):not(.creator-studio-body) :is(.bg-white.rounded-lg, .bg-white.rounded-xl, .bg-white.rounded-2xl, .bg-white.rounded-3xl) {
  border-color: var(--r64-border);
  box-shadow: var(--r64-card-shadow);
}
body:not(.text-white):not(.r64p-body):not(.creator-studio-body) :is(input, select, textarea) {
  border-color: #dce2e8;
  border-radius: 9px;
  transition: border-color .16s ease, box-shadow .16s ease;
}
body:not(.text-white):not(.r64p-body):not(.creator-studio-body) :is(input, select, textarea):focus {
  border-color: var(--r64-brand-orange);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(233, 91, 22, .14);
}
body:not(.text-white):not(.r64p-body):not(.creator-studio-body) :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid rgba(233, 91, 22, .34);
  outline-offset: 2px;
}
body:not(.text-white):not(.r64p-body):not(.creator-studio-body) :is(.bg-blue-600, .bg-indigo-600) {
  background-color: var(--r64-brand-orange) !important;
}
body:not(.text-white):not(.r64p-body):not(.creator-studio-body) :is(.bg-blue-600, .bg-indigo-600):hover {
  background-color: var(--r64-brand-orange-dark) !important;
}

/* Espace restaurateur */
.r64-app { background: var(--r64-page); }
.r64-card, .r64-frame-shell { border-color: var(--r64-border); border-radius: var(--r64-card-radius); box-shadow: var(--r64-card-shadow); }
.r64-topbar { border-color: var(--r64-border); }
.r64-section-title { color: var(--r64-brand-ink); font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.02em; }
.r64-action { border-color: var(--r64-border); border-radius: 12px; box-shadow: 0 3px 12px rgba(16, 32, 51, .035); }
.r64-action:hover { border-color: #efb18d; }
.r64-btn-orange, .r64-side-link.active { background: var(--r64-brand-orange); }
.r64-btn-orange:hover { background: var(--r64-brand-orange-dark); }
.r64-hours-table th { background: #f7f3ec; }

/* Super Admin : sidebar nuit conservée, accents harmonisés avec la marque */
:root {
  --sa-bg: var(--r64-page);
  --sa-sidebar: var(--r64-brand-navy);
  --sa-sidebar-2: #0b2140;
  --sa-text: var(--r64-brand-ink);
  --sa-muted: #68758b;
  --sa-border: var(--r64-border);
  --sa-blue: var(--r64-brand-orange);
  --sa-orange: var(--r64-brand-orange);
  --sa-radius: 15px;
  --sa-shadow: var(--r64-card-shadow);
}
.sa-topbar-title h1, .sa-section-title h2 { font-family: Georgia, 'Times New Roman', serif; }
.sa-topbar-title small { color: var(--r64-brand-orange); }
.sa-btn-primary, .sa-menu-link.is-active { background: var(--r64-brand-orange); }
.sa-btn-primary:hover, .sa-menu-link.is-active:hover { background: var(--r64-brand-orange-dark); }
.sa-btn-soft { background: #fff0e6; color: #9b4219; }
.sa-module-icon { background: #fff0e6; color: var(--r64-brand-orange-dark); }
.sa-table th { background: #f8f5ef; }
.sa-input:focus, .sa-select:focus { border-color: var(--r64-brand-orange); box-shadow: 0 0 0 3px rgba(233, 91, 22, .14); }

/* Creator Studio : mêmes tons et même traitement éditorial */
.creator-studio-body { background: var(--r64-page) !important; color: var(--r64-brand-ink); }
.creator-studio-body .studio-hero { border-radius: 24px; }
.creator-studio-body .studio-section { border-color: var(--r64-border); border-radius: var(--r64-card-radius); box-shadow: var(--r64-card-shadow); }
.creator-studio-body .studio-section-head h2 { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.02em; }
.creator-studio-body .studio-action { border-color: var(--r64-border); border-radius: 14px; }

/* Espace particulier : reprend les mêmes couleurs, en conservant sa navigation dédiée */
.r64p-body { background: var(--r64-page) !important; color: var(--r64-brand-ink); }
.r64p-body .r64p-card, .r64p-body .r64p-form-card, .r64p-body .r64p-table-wrap {
  border-color: var(--r64-border);
  box-shadow: var(--r64-card-shadow);
}
.r64p-body :is(h1, h2) { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.02em; }
.r64p-body :is(input, select, textarea):focus { border-color: var(--r64-brand-orange); box-shadow: 0 0 0 3px rgba(233, 91, 22, .14); }

/* Applications RESTO64 */
.r64app, .r64-app-page { background-color: var(--r64-page); }
.app-page-title h1, .app-section h2 { font-family: Georgia, 'Times New Roman', serif; }
.app-panel, .app-resto, .quick-card { border-color: var(--r64-border); box-shadow: var(--r64-card-shadow); }

@media (prefers-reduced-motion: reduce) {
  body * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
