/* GastroPilot24 — Marken-CI (aus Brand-Kit abgeleitet) */
:root {
  --orange: #FF5A1F;
  --orange-2: #FF8534;
  --orange-d: #D94510;
  --pilot: linear-gradient(135deg, #D94510 0%, #FF5A1F 55%, #FF8534 100%);
  --ink: #18100A;
  --ink-2: #2E1A08;
  --creme: #FDF6F0;
  --creme-2: #F5EAE0;
  --grey: #7A6A58;
  --line: #E8D8C8;
  --green: #22C55E;
  --whatsapp: #25D366;
  --red: #EF4444;
  --amber: #F59E0B;
  --radius: 16px;
  --radius-sm: 11px;
  --shadow-sm: 0 1px 2px rgba(24,16,10,.06), 0 2px 8px rgba(24,16,10,.05);
  --shadow-md: 0 8px 24px rgba(24,16,10,.10);
  --shadow-lg: 0 24px 60px -12px rgba(217,69,16,.28);
  --font-display: "Sora", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--creme);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; line-height: 1.15; margin: 0; letter-spacing: -.02em; }
a { color: inherit; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
img { max-width: 100%; display: block; }

/* Brand mark */
.g24-logo { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 700; letter-spacing: -.02em; }
.g24-logo .mark {
  width: 34px; height: 34px; border-radius: 22%;
  background: var(--pilot); display: grid; place-items: center;
  color: #fff; box-shadow: 0 4px 12px rgba(217,69,16,.35); flex: none;
}
.g24-logo .mark svg { width: 19px; height: 19px; }
.g24-logo b { color: var(--orange); }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; border-radius: 999px; font-weight: 600; font-size: 15px;
  transition: transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s, background .18s, opacity .18s;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px) scale(.99); }
.btn-primary { background: var(--pilot); color: #fff; box-shadow: 0 6px 18px rgba(217,69,16,.30); }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(217,69,16,.40); }
.btn-primary:disabled { background: var(--creme-2); color: var(--grey); box-shadow: none; cursor: not-allowed; transform: none; }
.btn-ghost { background: #fff; color: var(--ink); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.btn-ghost:hover { border-color: var(--orange); color: var(--orange-d); }
.btn-block { width: 100%; }

/* Badges */
.badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; }
.badge-green { background: rgba(34,197,94,.12); color: #15803d; }
.badge-amber { background: rgba(245,158,11,.14); color: #b45309; }
.badge-grey  { background: var(--creme-2); color: var(--grey); }
.badge-orange{ background: rgba(255,90,31,.12); color: var(--orange-d); }
.badge-red   { background: rgba(239,68,68,.12); color: #b91c1c; }
.badge-blue  { background: rgba(59,130,246,.12); color: #1d4ed8; }

/* Utilities */
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.muted { color: var(--grey); }
.pilot-text { background: var(--pilot); -webkit-background-clip: text; background-clip: text; color: transparent; }
.spin { width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--creme-2); border-top-color: var(--orange); animation: g24spin .7s linear infinite; }
@keyframes g24spin { to { transform: rotate(360deg); } }

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