/* FoodTechGuru Blog Standard 2026
   Source style reference:
   /Users/mrbdo/Dropbox/My_apps/glottis/runtime-review/professional-recipe-cost-card-final-output/professional-recipe-cost-card.html
*/

:root {
  --ftg-coral: #ee5a2e;
  --ftg-teal: #0e6e5e;
  --ftg-mint: #33b9a3;
  --ftg-cream: #faf0cc;
  --ftg-bg: #fffdf8;
  --ftg-ink: #18181b;
  --ftg-muted: #6b7280;
  --ftg-line: #e4e4e7;
  --ftg-card: #ffffff;
  --ftg-radius: 18px;
}

html { scroll-behavior: smooth; }
body {
  background: var(--ftg-bg) !important;
  color: var(--ftg-ink) !important;
  line-height: 1.72;
  overflow-x: hidden;
}

nav {
  background: rgba(255, 253, 248, .84) !important;
  color: var(--ftg-ink) !important;
  border-bottom: 1px solid rgba(228, 228, 231, .9);
  box-shadow: none !important;
  backdrop-filter: blur(16px);
}
.nav-logo span,
.nav-links a { color: #52525b !important; }
.nav-logo span em { color: var(--ftg-coral) !important; }
.nav-logo-icon {
  background: var(--ftg-coral) !important;
  box-shadow: 0 10px 30px rgba(238, 90, 46, .18);
}
.nav-cta,
.cta-banner-btn,
.hero-search button {
  background: #18181b !important;
  color: #fff !important;
  border: 1px solid #18181b;
  box-shadow: none !important;
}

.hero,
.article-hero {
  background:
    linear-gradient(to bottom, #fffdf8 0%, #fffdf8 76%, #fff 100%) !important;
  border-bottom: 1px solid var(--ftg-line);
  color: var(--ftg-ink);
}
.hero::before,
.article-hero::before {
  background-image:
    linear-gradient(to right, rgba(24, 24, 27, .08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(24, 24, 27, .08) 1px, transparent 1px) !important;
  background-size: 40px 40px !important;
  mask-image: radial-gradient(ellipse 70% 70% at 50% 35%, #000 25%, transparent 100%);
}
.hero::after,
.article-hero::after {
  content: "";
  position: absolute;
  right: 12%;
  top: 18%;
  width: 420px;
  height: 260px;
  background: radial-gradient(ellipse at center, rgba(51, 185, 163, .16), transparent 70%);
  pointer-events: none;
}
.hero h1,
.article-hero h1 {
  color: var(--ftg-ink) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.08 !important;
  max-width: 820px;
}
.hero h1 span,
.article-hero h1 span { color: var(--ftg-ink) !important; }
.hero p,
.article-hero .lead {
  color: #52525b !important;
  max-width: 720px;
}
.hero-tag,
.article-tag,
.cat-pill.active,
.tag-costing,
.tag-ai,
.tag-engineering,
.tag-chef {
  background: rgba(51, 185, 163, .11) !important;
  border: 1px solid rgba(14, 110, 94, .22);
  color: var(--ftg-teal) !important;
  box-shadow: none !important;
}
.breadcrumb,
.breadcrumb a,
.meta-item { color: #71717a !important; }

.hero-image-block,
.article-layout,
.related-section,
.container {
  max-width: 1200px !important;
}
.article-layout {
  grid-template-columns: minmax(0, 820px) 280px !important;
  gap: 56px !important;
}
.article-content {
  background: #fff;
  border: 1px solid rgba(228, 228, 231, .85);
  border-radius: 24px;
  padding: clamp(24px, 4vw, 56px);
  box-shadow: 0 20px 70px rgba(24, 24, 27, .06);
}
.article-content h2 {
  color: var(--ftg-ink) !important;
  font-size: clamp(1.55rem, 2.4vw, 2.05rem) !important;
  line-height: 1.15 !important;
}
.article-content h3,
.related-section h3 { color: var(--ftg-ink) !important; }
.article-content p,
.article-content li { color: #27272a !important; }
.article-content strong { color: #111827 !important; }

.img-placeholder,
.article-image,
.featured-card,
.article-card,
.related-card,
.sidebar-card,
.sidebar-cta,
.cta-banner,
.table-wrap,
.video-block {
  border: 1px solid var(--ftg-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 48px rgba(24, 24, 27, .10) !important;
}
.img-placeholder {
  background: #fff !important;
}
.img-placeholder-inner {
  background:
    linear-gradient(135deg, rgba(51, 185, 163, .14), rgba(238, 90, 46, .10)) !important;
}
.img-note {
  background: rgba(17, 24, 39, .82) !important;
}
.article-image img,
.featured-card img,
.article-card img {
  border-radius: 22px;
}
.img-caption,
.video-caption {
  color: #71717a !important;
}

.callout {
  background: #f8fafc !important;
  border-left: 4px solid var(--ftg-mint) !important;
  border-radius: 16px !important;
}
.callout strong { color: var(--ftg-teal) !important; }

.ftg-widget-block {
  margin: 36px 0;
}
.ftg-widget-intro {
  margin-bottom: 14px;
}
.ftg-widget-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid rgba(14, 110, 94, .22);
  background: rgba(51, 185, 163, .11);
  color: var(--ftg-teal);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ftg-widget-intro h3 {
  margin: 0 0 8px !important;
  font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
}
.ftg-widget-intro p {
  margin-bottom: 0 !important;
  color: #52525b !important;
}
ftg-cost-calculator,
ftg-losses-explained,
ftg-menu-engineering,
ftg-sheet-preview {
  display: block;
  margin-top: 14px;
}

.ftg-widget-grid {
  display: grid;
  gap: 18px;
}

.ftg-widget-note {
  margin-top: 10px !important;
  color: #71717a !important;
  font-size: .92rem;
}

.ftg-widget-note code {
  background: #f4f4f5;
  border: 1px solid #e4e4e7;
  border-radius: 7px;
  padding: 2px 6px;
  font-size: .86em;
}

thead th { background: #111827 !important; }
tbody td { color: #27272a !important; }

.sidebar {
  top: 92px !important;
}
.sidebar-card-header {
  background: transparent !important;
  color: #71717a !important;
  border-bottom: 1px solid var(--ftg-line);
}
.toc-list a { color: #71717a !important; }
.toc-list a:hover { color: var(--ftg-ink) !important; }
.toc-list a::before { color: var(--ftg-mint) !important; }
.sidebar-cta {
  background: #111827 !important;
  color: #fff !important;
}
.sidebar-cta h4,
.sidebar-cta p { color: #fff !important; }
.sidebar-cta a {
  color: #111827 !important;
  box-shadow: none !important;
}

footer {
  background: #fff !important;
  border-top: 1px solid var(--ftg-line);
  color: #71717a !important;
}
footer a { color: var(--ftg-coral) !important; }

@media (max-width: 900px) {
  .article-layout { grid-template-columns: 1fr !important; }
  .article-content { padding: 24px 18px; }
}
.nav-cta,
.nav-cta:visited,
.nav-cta:focus,
.nav-cta:active {
  background: var(--ftg-coral) !important;
  border-color: var(--ftg-coral) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.nav-cta:hover {
  background: #e85520 !important;
  border-color: #e85520 !important;
  color: #fff !important;
  box-shadow: none !important;
}
.nav-cta *,
.nav-cta:hover * {
  color: #fff !important;
}
.nav-links a.nav-cta,
a.nav-cta,
.nav-links a.nav-cta:visited,
a.nav-cta:visited,
.nav-links a.nav-cta:focus,
a.nav-cta:focus,
.nav-links a.nav-cta:active,
a.nav-cta:active {
  background: var(--ftg-coral) !important;
  border-color: var(--ftg-coral) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.nav-links a.nav-cta:hover,
a.nav-cta:hover {
  background: #e85520 !important;
  border-color: #e85520 !important;
  color: #fff !important;
  box-shadow: none !important;
}
.nav-links a.nav-cta *,
a.nav-cta *,
.nav-links a.nav-cta:hover *,
a.nav-cta:hover * {
  color: #fff !important;
}
/* FoodTechGuru production nav CTA and main black footer */
.nav-links a.nav-cta,
.nav-links a.nav-cta:link,
.nav-links a.nav-cta:visited,
.nav-links a.nav-cta:hover,
.nav-links a.nav-cta:focus,
.nav-links a.nav-cta:active,
a.nav-cta,
a.nav-cta:link,
a.nav-cta:visited,
a.nav-cta:hover,
a.nav-cta:focus,
a.nav-cta:active {
  background: #ff672f !important;
  border: 1px solid #ff672f !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.nav-links a.nav-cta *,
a.nav-cta * {
  color: #fff !important;
}
.article-content > div[style*="var(--navy)"],
.article-content > div[style*="#01034f"],
.article-content > div[style*="#00004d"],
.cta-banner {
  color: #fff !important;
}
.article-content > div[style*="var(--navy)"] p,
.article-content > div[style*="#01034f"] p,
.article-content > div[style*="#00004d"] p,
.cta-banner p,
.cta-banner-text p {
  color: rgba(255,255,255,.72) !important;
}
.article-content > div[style*="var(--navy)"] h2,
.article-content > div[style*="var(--navy)"] h3,
.article-content > div[style*="#01034f"] h2,
.article-content > div[style*="#01034f"] h3,
.article-content > div[style*="#00004d"] h2,
.article-content > div[style*="#00004d"] h3,
.cta-banner h2,
.cta-banner h3,
.cta-banner-text h2 {
  color: #fff !important;
}
.nav-logo-img {
  display: block;
  width: 180px;
  max-width: 46vw;
  height: auto;
  object-fit: contain;
}
.ftg-main-footer {
  background: #000 !important;
  color: #fff !important;
  padding: 42px 5% 38px !important;
  border-top: 0 !important;
  text-align: left !important;
  border-radius: 0 0 12px 12px;
}
.ftg-main-footer__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(360px, 560px) 1fr;
  gap: 72px;
  align-items: start;
}
.ftg-main-footer__logo img {
  display: block;
  width: 429px;
  max-width: min(86vw, 429px);
  height: auto;
}
.ftg-main-footer__left p {
  margin: 24px 0 44px !important;
  color: #fff !important;
  font-size: clamp(26px, 2.35vw, 40px) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.ftg-main-footer__download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 242px;
  min-height: 56px;
  border-radius: 14px;
  background: #f5f255 !important;
  color: #000 !important;
  font-weight: 900;
  font-size: 20px;
  text-decoration: none !important;
  box-shadow: none !important;
}
.ftg-main-footer__download:hover {
  background: #16d2b4 !important;
  color: #000 !important;
}
.ftg-main-footer__right {
  min-height: 330px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: start;
}
.ftg-main-footer__nav {
  display: flex;
  justify-content: space-between;
  gap: 34px;
  padding-top: 48px;
  background: transparent !important;
}
.ftg-main-footer__nav a {
  color: #fff !important;
  text-decoration: none !important;
  font-size: clamp(22px, 1.7vw, 34px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
}
.ftg-main-footer__email {
  justify-self: end;
  align-self: center;
  color: #fff !important;
  text-decoration: none !important;
  font-size: clamp(32px, 3vw, 58px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: .01em;
}
.ftg-main-footer__credit {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 16px;
}
.ftg-main-footer__credit a {
  color: rgba(255,255,255,.82) !important;
  text-decoration: none !important;
  text-align: right;
  font-size: 15px;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: .02em;
}
.ftg-main-footer__credit img {
  display: block;
  width: 154px;
  max-width: 30vw;
  height: auto;
}
.site-footer-main { display: none !important; }
@media (max-width: 900px) {
  .ftg-main-footer__inner { grid-template-columns: 1fr; gap: 38px; }
  .ftg-main-footer__right { min-height: 0; gap: 38px; }
  .ftg-main-footer__nav { justify-content: flex-start; flex-wrap: wrap; padding-top: 0; }
  .ftg-main-footer__email,
  .ftg-main-footer__credit { justify-self: start; }
  .ftg-main-footer__credit a { text-align: left; }
}
