/**
 * Beat Elementor’s default kit (blue headings, Roboto, etc.)
 * and keep Feed Mill type/colors on every page.
 */

body,
.elementor-kit-1,
[class*="elementor-kit-"] {
  --e-global-color-primary: #751428;
  --e-global-color-secondary: #425c59;
  --e-global-color-text: #2c3a36;
  --e-global-color-accent: #f1c94b;
}

/* The headline paints its ink through background-clip:text now, so it must keep
   its background layers. Only the box behind it stays transparent. */
.elementor-widget-html h2.hungry-headline,
.hungry-headline,
.fm-hungry-frame .elementor-heading-title {
  background-color: transparent !important;
}

.category h3,
.spread-kicker,
.menu-eyebrow,
.menu-display,
.specials-heading h2,
.elementor-widget-heading.menu-display .elementor-heading-title,
.elementor-widget-heading.spread-kicker .elementor-heading-title,
.elementor-widget-heading.fm-category-title .elementor-heading-title,
.fm-hungry .elementor-heading-title {
  font-family: "Anton", "Impact", sans-serif !important;
  font-weight: 400 !important;
}

.category h3,
.spread-kicker,
.menu-eyebrow,
.elementor-widget-heading.fm-category-title .elementor-heading-title {
  color: #751428 !important;
}

.story h2,
.menu-close h2,
.fm-story-title .elementor-heading-title,
.fm-close-title .elementor-heading-title,
.is-pattern .menu-display,
.is-pattern .elementor-widget-heading.menu-display .elementor-heading-title,
.roost-band .menu-display,
.prime-band .menu-display {
  color: #f1f1d8 !important;
  font-family: "Anton", "Impact", sans-serif !important;
}

.specials-heading h2,
.fm-specials-title .elementor-heading-title {
  color: #425c59 !important;
  font-family: "Anton", "Impact", sans-serif !important;
}

.menu-script,
.elementor-widget-heading.menu-script .elementor-heading-title {
  font-family: "Great Vibes", "Snell Roundhand", cursive !important;
  font-weight: 400 !important;
  color: #751428 !important;
}

.is-pattern .menu-script,
.is-pattern .elementor-widget-heading.menu-script .elementor-heading-title,
.roost-band .menu-script,
.prime-band .menu-script,
.menu-close .menu-script,
.fm-menu-close .elementor-widget-heading.menu-script .elementor-heading-title {
  color: #f1c94b !important;
}

.category p,
.spread-prose,
.spread-prose p,
.menu-lede,
.story p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-family: "Libre Baskerville", Georgia, serif !important;
}

.site-nav a,
.phone,
.pill,
.nav-toggle,
.special-day h3,
.week-cell h3,
.fm-day-title .elementor-heading-title {
  font-family: "Alfa Slab One", Rockwell, serif !important;
}

body.elementor-page .elementor-widget-heading .elementor-heading-title {
  font-weight: 400 !important;
}

/* Oxblood bands: cream type, not dark ink. */
.fm-spread-hero.is-pattern .elementor-widget-heading.menu-display .elementor-heading-title,
.prime-band .elementor-widget-heading.menu-display .elementor-heading-title,
.roost-band .elementor-widget-heading.menu-display .elementor-heading-title,
.spread-hero.is-pattern .menu-display,
.prime-band .menu-display {
  color: #fffde8 !important;
  font-size: clamp(2.8rem, 6vw, 5.6rem) !important;
}

.fm-spread-hero.is-pattern .elementor-widget-text-editor,
.fm-spread-hero.is-pattern .elementor-widget-text-editor p,
.prime-band .elementor-widget-text-editor,
.prime-band .elementor-widget-text-editor p,
.roost-band .elementor-widget-text-editor,
.roost-band .elementor-widget-text-editor p,
.spread-hero.is-pattern .menu-lede,
.prime-band .menu-lede {
  color: #f1f1d8 !important;
}

.fm-spread-hero.is-pattern .elementor-widget-heading.menu-script .elementor-heading-title,
.prime-band .elementor-widget-heading.menu-script .elementor-heading-title,
.roost-band .elementor-widget-heading.menu-script .elementor-heading-title {
  color: #f1c94b !important;
}

.fm-spread-hero.is-pattern .elementor-widget-heading.menu-eyebrow .elementor-heading-title,
.prime-band .elementor-widget-heading.menu-eyebrow .elementor-heading-title {
  color: #f1c94b !important;
}

/* Homepage story band is centered like the mockup. */
.fm-story,
.story {
  text-align: center !important;
}

.fm-story .fm-story-title .elementor-heading-title,
.fm-story .elementor-widget-text-editor,
.fm-story .elementor-widget-text-editor p,
.fm-story-copy,
.fm-story-copy p {
  text-align: center !important;
  color: #fffde8 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.fm-story .elementor-widget-text-editor p {
  max-width: 48rem;
  font-size: clamp(1.05rem, 1.5vw, 1.22rem) !important;
  line-height: 1.65 !important;
}

.fm-story-cta,
.fm-story .elementor-widget-image {
  text-align: center !important;
}

/* Titles sit below photos, not against them. */
.fm-hungry .elementor-widget-heading.fm-category-title {
  margin-top: 1.15rem !important;
}

.fm-hungry .elementor-widget-image.fm-category-photo {
  margin-bottom: 0 !important;
}

.fm-spread-block .elementor-widget-image.fm-poster {
  margin-bottom: 1.1rem !important;
}

.fm-spread-block .elementor-widget-heading.menu-script {
  margin-top: 0.35rem !important;
}

.menu-sec-head h2,
.fm-capacity-block .menu-sec-head h2,
.elementor-widget-heading.spread-kicker .elementor-heading-title {
  line-height: 1.08 !important;
  padding-top: 0.12em !important;
  overflow: visible !important;
}

.fm-hungry.elementor-section {
  padding-top: 5.25rem !important;
}

.prime-band .elementor-widget-button {
  margin-top: 0.85rem !important;
}

/* Widget classes only — Elementor 4.2 does not print section CSS classes. */
.hungry-headline,
.fm-hungry-frame .elementor-heading-title {
  position: relative;
  z-index: 6;
  margin-bottom: 1.2rem !important;
  overflow: visible !important;
}

.hungry {
  overflow: visible !important;
  padding-top: 3.6rem !important;
  z-index: 5;
}

.elementor-widget-heading.fm-category-title {
  margin-top: 1.25rem !important;
}

.elementor-widget-image.fm-poster {
  margin-bottom: 1.2rem !important;
}

.elementor-widget.fm-story-title .elementor-heading-title,
.elementor-widget.fm-story-copy,
.elementor-widget.fm-story-copy .elementor-widget-container,
.elementor-widget.fm-story-copy p {
  text-align: center !important;
  color: #fffde8 !important;
}

.elementor-widget-heading.on-oxblood .elementor-heading-title {
  color: #fffde8 !important;
}

.elementor-widget-heading.menu-script.on-oxblood .elementor-heading-title,
.elementor-widget-heading.menu-eyebrow.on-oxblood .elementor-heading-title {
  color: #f1c94b !important;
}

.elementor-widget-text-editor.on-oxblood,
.elementor-widget-text-editor.on-oxblood p,
.elementor-widget-text-editor.menu-lede.on-oxblood,
.elementor-widget-text-editor.menu-lede.on-oxblood p {
  color: #f1f1d8 !important;
}

/*
 * After any Elementor Update (photo swap, text tweak), kit CSS can inflate
 * section padding and image stretch. Cap designed pages so edits stay in scale.
 */
body.elementor-page.page-template-template-events .elementor-top-section,
body.elementor-page.page-template-template-story .elementor-top-section,
body.elementor-page.page-template-template-specials .elementor-top-section,
body.elementor-page.page-template-template-careers .elementor-top-section,
body.elementor-page.page-template-template-menu .elementor-top-section,
body.elementor-editor-active.page-template-template-events .elementor-top-section,
body.elementor-editor-active.page-template-template-story .elementor-top-section,
body.elementor-editor-active.page-template-template-specials .elementor-top-section,
body.elementor-editor-active.page-template-template-careers .elementor-top-section,
body.elementor-editor-active.page-template-template-menu .elementor-top-section {
  padding-top: 3.25rem !important;
  padding-bottom: 3.25rem !important;
}

body.elementor-page.page-template-template-events .elementor > .elementor-section:first-child,
body.elementor-page.page-template-template-story .elementor > .elementor-section:first-child,
body.elementor-page.page-template-template-specials .elementor > .elementor-section:first-child,
body.elementor-page.page-template-template-careers .elementor > .elementor-section:first-child,
body.elementor-page.page-template-template-menu .elementor > .elementor-section:first-child,
body.elementor-editor-active.page-template-template-events .elementor > .elementor-section:first-child,
body.elementor-editor-active.page-template-template-story .elementor > .elementor-section:first-child,
body.elementor-editor-active.page-template-template-specials .elementor > .elementor-section:first-child,
body.elementor-editor-active.page-template-template-careers .elementor > .elementor-section:first-child,
body.elementor-editor-active.page-template-template-menu .elementor > .elementor-section:first-child {
  padding-top: 7.75rem !important;
}

/* Photo swaps: Image widgets fill the column — keep posters from dominating. */
body.elementor-page .elementor-widget-image:not(.fm-hero-plate):not(.fm-hero-headline):not(.fm-hero-cta):not(.fm-hungry-frame) img,
body.elementor-editor-active .elementor-widget-image:not(.fm-hero-plate):not(.fm-hero-headline):not(.fm-hero-cta):not(.fm-hungry-frame) img {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  max-height: 28rem;
  object-fit: cover;
}

body.elementor-page .elementor-widget-image.fm-poster img,
body.elementor-page .fm-spread-block .elementor-widget-image img,
body.elementor-editor-active .elementor-widget-image.fm-poster img {
  max-height: 32rem;
}

/* Kit typography must not grow plain headings past body scale. */
body.elementor-page .elementor-widget-heading:not(.menu-display):not(.menu-script):not(.spread-kicker):not(.fm-category-title):not(.fm-close-title):not(.fm-story-title):not(.fm-specials-title):not(.menu-eyebrow) .elementor-heading-title,
body.elementor-editor-active .elementor-widget-heading:not(.menu-display):not(.menu-script):not(.spread-kicker):not(.fm-category-title):not(.fm-close-title):not(.fm-story-title):not(.fm-specials-title):not(.menu-eyebrow) .elementor-heading-title {
  font-size: clamp(1.15rem, 2vw, 1.55rem) !important;
  line-height: 1.25 !important;
}

