@font-face {
  font-family: 'DM Sans Fallback';
  src: local('Segoe UI'), local('Arial');
  ascent-override: 92%;
  descent-override: 23%;
  line-gap-override: 0%;
  size-adjust: 104%;
}

@font-face {
  font-family: 'Fraunces Fallback';
  src: local('Georgia'), local('Times New Roman');
  ascent-override: 90%;
  descent-override: 24%;
  line-gap-override: 0%;
  size-adjust: 108%;
}

body {
  font-family: 'DM Sans', 'DM Sans Fallback', system-ui, -apple-system, sans-serif;
}

.hero h1,
.section-head h2,
.rhead h2,
.preview-head h2,
.recipe-card h3,
.blog-card h3,
.network-section h2 {
  font-family: 'Fraunces', 'Fraunces Fallback', Georgia, serif;
}

.hero h1 {
  min-height: 2.3em;
}

.category-links {
  min-height: 38px;
}

.hashtag-list {
  min-height: 72px;
}

.recipe-status {
  min-height: 22px;
}

.recipe-grid.is-loading {
  min-height: 520px;
}

.recipe-skeleton {
  pointer-events: none;
}

.skeleton-line {
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--cream, #F3F0EA) 0%, #ece8e0 50%, var(--cream, #F3F0EA) 100%);
  margin-bottom: 8px;
}

.skeleton-line.wide {
  width: 78%;
  height: 16px;
}

.skeleton-line.medium {
  width: 55%;
}

.skeleton-line.short {
  width: 36%;
  margin-bottom: 0;
}

.generated-image,
.generated-image.is-visible {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 430px;
  object-fit: cover;
}

.hero-img-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 400px;
  background: var(--cream, #F3F0EA);
  overflow: hidden;
}

.hero-img-wrap .hero-img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  display: block;
}

.category-grid-loading {
  min-height: 420px;
}

.cat-nav {
  min-height: 38px;
}

.status {
  min-height: 120px;
}
