:root {
  --rb-cream: #fff6ea;
  --rb-cream-strong: #ffe6c7;
  --rb-ink: #241c15;
  --rb-muted: #6f665a;
  --rb-accent: #ff8a3d;
  --rb-accent-soft: #ffb36b;
  --rb-card: #ffffff;
  --rb-shadow: 0 18px 50px rgba(36, 28, 21, 0.12);
  --rb-radius: 18px;
  --rb-radius-lg: 26px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Space Grotesk", "Segoe UI", sans-serif;
  background: radial-gradient(circle at top, #ffe9d1, #fff6ea 55%, #fff9f2);
  color: var(--rb-ink);
  min-height: 100vh;
}

h1,
h2,
h3,
.display-5,
.display-6,
.navbar-brand strong {
  font-family: "Fraunces", serif;
}

.rb-navbar {
  background: rgba(255, 246, 234, 0.9);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 211, 160, 0.6);
}

.brand-badge {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--rb-accent-soft), var(--rb-accent));
  display: grid;
  place-items: center;
  font-size: 22px;
  box-shadow: 0 12px 30px rgba(255, 138, 61, 0.35);
}

.brand-text small {
  font-size: 0.75rem;
  color: var(--rb-muted);
}

.bg-glow {
  position: fixed;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.45;
  z-index: -1;
}

.bg-glow--one {
  top: -120px;
  left: -80px;
  background: #ffd3a0;
}

.bg-glow--two {
  bottom: -160px;
  right: -120px;
  background: #ffdcae;
}

.hero-card {
  background: linear-gradient(135deg, #fff1df, #fff8f0);
  border-radius: var(--rb-radius-lg);
}

.hero-card .badge {
  letter-spacing: 0.08em;
}

.hero-stats {
  border-radius: 20px;
}

.stat-icon {
  font-size: 2.2rem;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #fff1e1;
  color: #c05924;
}

.form-control,
.form-select,
.btn {
  border-radius: 14px;
}

.btn-primary {
  background: var(--rb-accent);
  border-color: var(--rb-accent);
}

.btn-primary:hover {
  background: #ff7a2f;
  border-color: #ff7a2f;
}

.recipe-card {
  border-radius: var(--rb-radius);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.recipe-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--rb-shadow);
}

.filter-summary .badge {
  font-weight: 600;
}

.recipe-sidebar {
  top: 5.5rem;
}

.recipe-content {
  line-height: 1.65;
}

.recipe-content h1,
.recipe-content h2,
.recipe-content h3 {
  margin-top: 1.6rem;
  margin-bottom: 0.8rem;
}

.recipe-content ul,
.recipe-content ol {
  padding-left: 1.2rem;
}

.recipe-content blockquote {
  border-left: 4px solid var(--rb-accent);
  background: #fff3e6;
  padding: 12px 16px;
  border-radius: 12px;
}

.recipe-content img {
  max-width: 100%;
  border-radius: 16px;
}

@media (min-width: 992px) {
  .recipe-sidebar {
    position: sticky;
  }
}

@media (max-width: 768px) {
  .hero-card {
    border-radius: 20px;
  }

  .recipe-sidebar {
    position: static;
  }
}
