/* OrderGURU design tokens (fonts, colour, type, spacing, shape, elevation, motion, base).
   Concatenated from the design handoff tokens/*.css into one file so pages make a single
   request instead of an @import chain. Edit here; do not re-import the handoff files. */

/* --- fonts --- */
/* Google Fonts (SIL OFL) — self-hosted latin variable subsets. Substitutes: no brand font files were supplied. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/BricolageGrotesque-400.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/Figtree-400.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/Figtree-400i.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/JetBrainsMono-400.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/PlusJakartaSans-400.woff2') format('woff2');}

/* --- colors --- */
:root{
/* Saffron — brand primary */
--saffron-50:#FFF4EE;--saffron-100:#FFE3D3;--saffron-200:#FFC3A3;--saffron-300:#FF9A6B;--saffron-400:#FF7440;--saffron-500:#F25418;--saffron-600:#D54110;--saffron-700:#A8320E;--saffron-800:#7A2610;--saffron-900:#4A180B;
/* Ink — warm neutrals */
--ink-0:#FFFFFF;--ink-50:#FAF8F5;--ink-100:#F3EFEA;--ink-200:#E8E3DD;--ink-300:#D6CFC8;--ink-400:#B3AAA2;--ink-500:#7A7069;--ink-600:#5F5650;--ink-700:#4A413B;--ink-800:#2E2723;--ink-900:#1C1714;
/* Basil — success / open / delivered */
--basil-50:#EFF9F3;--basil-100:#DDF2E6;--basil-300:#8FD1AC;--basil-500:#2E9A63;--basil-600:#1F7A4D;--basil-700:#16603C;
/* Turmeric — ratings, highlights, warning */
--turmeric-50:#FFF9EA;--turmeric-100:#FFF1CC;--turmeric-300:#FFD978;--turmeric-500:#FFC23D;--turmeric-700:#8A5A00;
/* Chili — error / destructive / allergens */
--chili-50:#FEF1F1;--chili-100:#FBE1E2;--chili-300:#F09AA0;--chili-500:#E0404B;--chili-600:#C8242F;--chili-700:#9E1A24;
/* Blueberry — info / links in admin */
--blueberry-50:#F0F4FE;--blueberry-100:#E1E9FB;--blueberry-500:#4A7AEB;--blueberry-600:#2B5FD9;--blueberry-700:#1F47A8;

/* Semantic — surfaces */
--surface-page:var(--ink-50);--surface-card:var(--ink-0);--surface-sunken:var(--ink-100);--surface-raised:var(--ink-0);--surface-inverse:var(--ink-900);--surface-brand:var(--saffron-500);--surface-brand-subtle:var(--saffron-50);--surface-overlay:rgba(28,23,20,.48);
/* Semantic — text */
--text-primary:var(--ink-900);--text-secondary:var(--ink-600);--text-tertiary:var(--ink-500);--text-disabled:var(--ink-400);--text-inverse:var(--ink-0);--text-on-brand:var(--ink-0);--text-brand:var(--saffron-700);--text-link:var(--saffron-700);--text-success:var(--basil-700);--text-warning:var(--turmeric-700);--text-danger:var(--chili-700);--text-info:var(--blueberry-700);
/* Semantic — borders */
--border-subtle:var(--ink-200);--border-default:var(--ink-300);--border-strong:var(--ink-900);--border-brand:var(--saffron-600);--border-danger:var(--chili-600);
/* Semantic — actions */
--action-primary:var(--saffron-600);--action-primary-hover:var(--saffron-700);--action-primary-press:var(--saffron-800);
--action-secondary:var(--ink-900);--action-secondary-hover:var(--ink-800);--action-secondary-press:var(--ink-700);
--action-ghost-hover:var(--ink-100);--action-ghost-press:var(--ink-200);
--action-danger:var(--chili-600);--action-danger-hover:var(--chili-700);
/* Semantic — status fills */
--status-success-bg:var(--basil-100);--status-success-fg:var(--basil-700);
--status-warning-bg:var(--turmeric-100);--status-warning-fg:var(--turmeric-700);
--status-danger-bg:var(--chili-100);--status-danger-fg:var(--chili-700);
--status-info-bg:var(--blueberry-100);--status-info-fg:var(--blueberry-700);
--status-neutral-bg:var(--ink-100);--status-neutral-fg:var(--ink-700);
--status-brand-bg:var(--saffron-100);--status-brand-fg:var(--saffron-800);
--rating-star:var(--turmeric-500);
}

/* --- typography --- */
:root{
--font-display:'Bricolage Grotesque','Figtree',system-ui,sans-serif;
--font-body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
--font-brand:'Plus Jakarta Sans','Figtree',system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;
/* size / line-height pairs */
--text-display-xl:56px;--leading-display-xl:60px;
--text-display-lg:44px;--leading-display-lg:48px;
--text-h1:32px;--leading-h1:38px;
--text-h2:24px;--leading-h2:30px;
--text-h3:20px;--leading-h3:26px;
--text-h4:17px;--leading-h4:24px;
--text-body-lg:17px;--leading-body-lg:26px;
--text-body:15px;--leading-body:22px;
--text-body-sm:13px;--leading-body-sm:18px;
--text-caption:12px;--leading-caption:16px;
--text-overline:11px;--leading-overline:14px;
--tracking-display:-0.025em;--tracking-heading:-0.015em;--tracking-body:0;--tracking-overline:0.08em;
/* semantic */
--type-price-font:var(--font-body);--type-price-weight:var(--weight-bold);
--type-order-id-font:var(--font-mono);
}

/* --- spacing --- */
:root{
--space-0:0;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;
--gutter-mobile:16px;--gutter-desktop:32px;--container-max:1200px;--sheet-max:560px;
--control-sm:32px;--control-md:44px;--control-lg:52px;--tap-min:44px;
}

/* --- shape --- */
:root{
--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
--radius-control:var(--radius-md);--radius-card:var(--radius-lg);--radius-sheet:var(--radius-xl);
--border-width:1px;--border-width-strong:2px;
}

/* --- elevation --- */
:root{
--shadow-xs:0 1px 1px rgba(28,23,20,.04);
--shadow-sm:0 1px 2px rgba(28,23,20,.06),0 1px 1px rgba(28,23,20,.04);
--shadow-md:0 4px 12px -2px rgba(28,23,20,.08),0 2px 4px rgba(28,23,20,.04);
--shadow-lg:0 12px 32px -8px rgba(28,23,20,.18),0 4px 8px rgba(28,23,20,.04);
--shadow-xl:0 24px 64px -12px rgba(28,23,20,.28),0 8px 16px rgba(28,23,20,.06);
--shadow-sticky:0 -8px 24px -8px rgba(28,23,20,.12);
--ring-focus:0 0 0 3px rgba(242,84,24,.35);
--ring-focus-danger:0 0 0 3px rgba(200,36,47,.30);
--z-sticky:10;/* @kind other */--z-dropdown:20;/* @kind other */--z-overlay:40;/* @kind other */--z-dialog:50;/* @kind other */--z-toast:60;/* @kind other */--z-tooltip:70;/* @kind other */
}

/* --- motion --- */
:root{
--ease-out:cubic-bezier(.2,.8,.2,1);/* @kind other */
--ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */
--ease-pop:cubic-bezier(.34,1.56,.64,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:320ms;/* @kind other */--dur-sheet:380ms;/* @kind other */
--press-scale:.97;/* @kind other */
}

/* --- base --- */
html,body{margin:0}
body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;}
*,*::before,*::after{box-sizing:border-box}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--saffron-800)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
@keyframes og-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes og-fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes og-sheet-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes og-pulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes og-spin{to{transform:rotate(360deg)}}
