/* sm-shared.css — additions used across /menu, /links */

/* Reset + typography (matches existing index.html) */
.sm-page * { margin: 0; padding: 0; box-sizing: border-box; }
.sm-page body { font-family: 'Inter', system-ui, sans-serif; background: #0b1623; color: #e8e4d9; -webkit-font-smoothing: antialiased; }
.sm-page ::selection { background: rgba(245, 230, 107, 0.3); color: #fff; }

/* Common buttons */
.sm-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.875rem 1.5rem; border-radius: 9999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; letter-spacing: 0.03em; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; cursor: pointer; border: none; }
.sm-btn-primary { background: #f5e66b; color: #0b1623; }
.sm-btn-primary:hover { box-shadow: 0 0 24px rgba(245, 230, 107, 0.25); }
.sm-btn-ghost { background: transparent; border: 1px solid rgba(232, 228, 217, 0.3); color: #e8e4d9; }
.sm-btn-ghost:hover { border-color: rgba(232, 228, 217, 0.6); }

/* Veg dot */
.sm-veg-dot { display: inline-block; width: 11px; height: 11px; border-radius: 2px; border: 1.5px solid currentColor; flex-shrink: 0; position: relative; }
.sm-veg-dot::after { content: ''; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; border-radius: 50%; transform: translate(-50%, -50%); background: currentColor; }
.sm-veg-dot.veg { color: #4ade80; }
.sm-veg-dot.non-veg { color: #f87171; }
.sm-veg-dot.egg { color: #fbbf24; }

/* Loading state */
.sm-loading { padding: 2rem; text-align: center; color: rgba(232, 228, 217, 0.5); font-size: 0.9rem; }
