/*
Theme Name: Flavor Heaven Home
Template: astra
Description: Child theme with the Flavor Heaven homepage (front-page.php).
Version: 1.0
*/

:root {
  --green: #073B2A;
  --green-deep: #052A1E;
  --green-soft: #0E5440;
  --cream: #FFFDF5;
  --cream-deep: #F6F1E1;
  --saffron: #F5A623;
  --saffron-deep: #D98B0C;
  --text: #252525;
  --muted: #5B5B55;
  --line: rgba(7, 59, 42, 0.12);
  --shadow-sm: 0 4px 14px rgba(7, 59, 42, 0.08);
  --shadow-md: 0 18px 40px rgba(7, 59, 42, 0.14);
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fh-page { font-family: 'Poppins', system-ui, sans-serif; color: var(--text); background: var(--cream); line-height: 1.7; margin: 0; }
.fh-page * { box-sizing: border-box; }
.fh-page a { color: inherit; text-decoration: none; }
.fh-page img { display: block; max-width: 100%; height: auto; }
.fh-page h1, .fh-page h2, .fh-page h3 { font-family: 'Playfair Display', Georgia, serif; color: var(--green); line-height: 1.2; margin: 0 0 .6em; }
.fh-page p { margin: 0 0 1em; }
.fh-page :focus-visible { outline: 3px solid var(--saffron); outline-offset: 3px; border-radius: 4px; }
.fh-container { width: min(1200px, calc(100% - 2.5rem)); margin-inline: auto; }
.fh-skip { position: absolute; left: 1rem; top: -100px; background: var(--saffron); color: var(--green); padding: .6rem 1rem; border-radius: 8px; font-weight: 600; z-index: 300; }
.fh-skip:focus { top: 1rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Header */
.fh-header { position: sticky; top: 0; z-index: 100; background: var(--cream); border-bottom: 1px solid var(--line); }
.fh-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; min-height: 84px; }
.fh-logo { display: inline-flex; align-items: center; gap: .7rem; }
.fh-logo-name { font-family: 'Playfair Display', Georgia, serif; font-weight: 800; font-size: 1.45rem; color: var(--green); line-height: 1.1; display: block; }
.fh-logo-tag { font-size: .7rem; color: var(--green); opacity: .85; letter-spacing: .04em; display: block; }
.fh-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(.9rem, 2vw, 1.8rem); align-items: center; }
.fh-nav a { position: relative; font-size: .88rem; font-weight: 500; color: var(--text); padding: .4rem 0; }
.fh-nav a::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 100%; height: 2px; background: var(--saffron); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.fh-nav a:hover, .fh-nav a[aria-current='page'] { color: var(--green); }
.fh-nav a:hover::after, .fh-nav a[aria-current='page']::after { transform: scaleX(1); }
.fh-cta { display: inline-block; background: var(--green); color: var(--cream) !important; padding: .7rem 1.4rem; border-radius: 999px; font-size: .82rem; font-weight: 600; flex-shrink: 0; transition: background .3s var(--ease); }
.fh-cta:hover { background: var(--green-soft); }
.fh-cta::after { display: none !important; }
.fh-menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; position: relative; }
.fh-menu-toggle span { position: absolute; left: 10px; right: 10px; height: 2px; background: var(--green); border-radius: 2px; transition: transform .3s var(--ease), opacity .3s var(--ease); }
.fh-menu-toggle span:nth-child(1) { top: 14px; }
.fh-menu-toggle span:nth-child(2) { top: 21px; }
.fh-menu-toggle span:nth-child(3) { top: 28px; }
.fh-menu-toggle[aria-expanded='true'] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.fh-menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
.fh-menu-toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 960px) {
  .fh-menu-toggle { display: block; }
  .fh-nav { position: absolute; top: 100%; left: 0; right: 0; background: var(--cream); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-md); max-height: 0; overflow: hidden; visibility: hidden; transition: max-height .45s var(--ease), visibility .45s; }
  .fh-nav.is-open { max-height: 480px; visibility: visible; }
  .fh-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: .5rem 1.25rem 1.25rem; }
  .fh-nav li { border-bottom: 1px solid var(--line); }
  .fh-nav a { display: block; padding: .95rem 0; font-size: 1rem; }
  .fh-nav a::after { display: none; }
  .fh-cta { display: none; }
}

/* Hero */
.fh-hero { background: radial-gradient(ellipse at 85% 30%, rgba(14,84,64,.9), transparent 60%), linear-gradient(120deg, #052A1E 0%, var(--green) 55%, #0A4A36 100%); padding: clamp(3.5rem, 7vw, 5.5rem) 0 clamp(5rem, 9vw, 7rem); position: relative; }
.fh-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 90px; background: var(--cream); clip-path: ellipse(60% 100% at 50% 100%); }
.fh-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.fh-hero-brand { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: clamp(1.9rem, 3.4vw, 2.6rem); color: var(--cream); margin: 0 0 .2rem; line-height: 1.1; }
.fh-hero-tag { font-size: .85rem; color: rgba(255,253,245,.8); letter-spacing: .06em; margin: 0 0 1.4rem; }
.fh-hero h1 { color: var(--cream); font-size: clamp(2.3rem, 4.6vw, 3.8rem); margin-bottom: 1rem; }
.fh-hero h1 span { color: var(--saffron); }
.fh-hero-lead { color: rgba(255,253,245,.85); font-size: 1.05rem; max-width: 540px; }
.fh-btn-row { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.8rem; }
.fh-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .95rem 1.8rem; border-radius: 999px; font-weight: 600; font-size: .95rem; border: 2px solid transparent; transition: transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease); }
.fh-btn:hover { transform: translateY(-2px); }
.fh-btn-primary { background: var(--saffron); color: var(--green); }
.fh-btn-primary:hover { background: #FFB840; }
.fh-btn-outline { color: var(--cream); border-color: var(--saffron); }
.fh-btn-outline:hover { background: var(--saffron); color: var(--green); }
.fh-hero-media { margin: 0; border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 30px 60px rgba(0,0,0,.35); background: linear-gradient(160deg, var(--green-soft), var(--green-deep)); }
.fh-hero-media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { .fh-hero-grid { grid-template-columns: 1fr; } .fh-hero-media { aspect-ratio: 4 / 3.4; order: -1; } }

/* Feature strip */
.fh-features { background: var(--cream); padding: 0 0 clamp(3rem, 6vw, 4.5rem); }
.fh-features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; text-align: center; }
.fh-feature-icon { width: 46px; height: 46px; color: var(--green); margin: 0 auto .8rem; display: block; transition: transform .5s var(--ease), color .4s var(--ease); }
.fh-feature:hover .fh-feature-icon { transform: translateY(-4px) rotate(-6deg); color: var(--saffron-deep); }
.fh-feature h2 { font-family: 'Poppins', sans-serif; font-size: .98rem; font-weight: 600; color: var(--green); margin: 0 0 .2rem; }
.fh-feature p { margin: 0; font-size: .82rem; color: var(--muted); }
@media (max-width: 960px) { .fh-features-grid { grid-template-columns: repeat(2, 1fr); row-gap: 2rem; } }

/* Sections */
.fh-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.fh-tint { background: var(--cream-deep); }
.fh-dark { background: var(--green); color: var(--cream); }
.fh-dark h2, .fh-dark h3 { color: var(--cream); }
.fh-dark p { color: rgba(255,253,245,.8); }
.fh-head { max-width: 680px; margin: 0 auto 3rem; text-align: center; }
.fh-head p:last-child { color: var(--muted); margin-bottom: 0; }
.fh-dark .fh-head p:last-child { color: rgba(255,253,245,.8); }
.fh-eyebrow { display: inline-block; font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--saffron-deep); margin-bottom: .75rem; }
.fh-dark .fh-eyebrow { color: var(--saffron); }
.fh-head-split { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; text-align: left; flex-wrap: wrap; }
.fh-link { display: inline-flex; align-items: center; gap: .35rem; color: var(--green); font-weight: 600; font-size: .92rem; }
.fh-link:hover { color: var(--saffron-deep); }
.fh-grid { display: grid; gap: 1.75rem; }
.fh-cols-3 { grid-template-columns: repeat(3, 1fr); }
.fh-cols-4 { grid-template-columns: repeat(4, 1fr); }
.fh-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-sm); border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.fh-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.fh-card-media { aspect-ratio: 3 / 2; overflow: hidden; background: linear-gradient(135deg, var(--green-soft), var(--green-deep)); }
.fh-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.fh-card:hover .fh-card-media img { transform: scale(1.07); }
.fh-card-body { padding: 1.5rem 1.6rem 1.7rem; display: flex; flex-direction: column; flex: 1; }
.fh-card-body p { color: var(--muted); font-size: .95rem; }
.fh-card-body .fh-link { margin-top: auto; align-self: flex-start; }
.fh-card h3 { font-size: 1.22rem; }
.fh-card a.fh-card-title:hover { color: var(--saffron-deep); }
.fh-meta { font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--saffron-deep); margin-bottom: .5rem; }
.fh-recipe { background: var(--green-soft); border-color: rgba(255,255,255,.08); }
.fh-recipe h3 { color: var(--cream); }
.fh-recipe p { color: rgba(255,253,245,.78); }
.fh-recipe .fh-card-media { background: var(--green-deep); }
.fh-pill { display: inline-block; background: var(--saffron); color: var(--green); padding: .6rem 1.2rem; border-radius: 999px; font-size: .85rem; font-weight: 600; margin-top: auto; align-self: flex-start; }
.fh-articles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem 2.5rem; }
.fh-article { display: grid; grid-template-columns: 200px 1fr; gap: 1.5rem; align-items: center; padding: 1rem; border-radius: 16px; background: #fff; border: 1px solid var(--line); transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.fh-article:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.fh-article-media { aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, var(--green-soft), var(--green-deep)); }
.fh-article-media img { width: 100%; height: 100%; object-fit: cover; }
.fh-article h3 { font-size: 1.15rem; margin-bottom: .4rem; }
.fh-article p:not(.fh-meta) { color: var(--muted); font-size: .92rem; margin: 0; }
.fh-article .fh-meta { margin-bottom: .35rem; }
@media (max-width: 960px) { .fh-cols-3, .fh-cols-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .fh-cols-3, .fh-cols-4, .fh-articles { grid-template-columns: 1fr; } .fh-article { grid-template-columns: 1fr; } .fh-article-media { aspect-ratio: 16 / 10; } .fh-head-split { flex-direction: column; align-items: flex-start; } }

/* Newsletter */
.fh-news { text-align: center; }
.fh-news-box { max-width: 680px; margin: 0 auto; background: var(--cream); border-radius: 24px; padding: clamp(2.2rem, 5vw, 3.5rem); box-shadow: var(--shadow-sm); border: 1px solid var(--line); }
.fh-news-box p { color: var(--muted); }
.fh-news-form { display: flex; gap: .75rem; margin: 1.6rem auto .4rem; max-width: 520px; }
.fh-news-form input { flex: 1; min-width: 0; padding: .95rem 1.3rem; border-radius: 999px; border: 1.5px solid rgba(7,59,42,.25); background: #fff; font: inherit; color: var(--text); }
.fh-news-form input:focus { outline: none; border-color: var(--saffron); box-shadow: 0 0 0 4px rgba(245,166,35,.25); }
.fh-news-form button { border: 0; cursor: pointer; font: inherit; }
.fh-form-msg { min-height: 1.6em; font-size: .9rem; margin-top: .6rem; color: var(--green); }
.fh-form-msg.is-error { color: #B3261E; }
@media (max-width: 640px) { .fh-news-form { flex-direction: column; } }

/* Footer */
.fh-footer { background: var(--green-deep); color: rgba(255,253,245,.78); padding-top: 4.5rem; }
.fh-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; }
.fh-footer .fh-logo-name { color: var(--cream); }
.fh-footer .fh-logo-tag { color: rgba(255,253,245,.7); }
.fh-footer-brand p { margin-top: 1rem; max-width: 320px; font-size: .93rem; }
.fh-footer-title { font-family: 'Poppins', sans-serif; font-size: .8rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--saffron); margin: 0 0 1.1rem; }
.fh-footer ul { list-style: none; margin: 0; padding: 0; }
.fh-footer-links li { margin-bottom: .6rem; }
.fh-footer-links a { color: rgba(255,253,245,.85); font-size: .95rem; }
.fh-footer-links a:hover { color: var(--saffron); }
.fh-social { display: flex; gap: .8rem; }
.fh-social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,253,245,.08); color: var(--cream); transition: background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease); }
.fh-social a:hover { background: var(--saffron); color: var(--green); transform: translateY(-3px); }
.fh-footer-tagline { margin-top: 1.2rem; font-size: .85rem; color: rgba(255,253,245,.75); }
.fh-footer-bottom { border-top: 1px solid rgba(255,253,245,.1); padding: 1.4rem 0; font-size: .85rem; text-align: center; }
.fh-footer-bottom p { margin: 0; }
@media (max-width: 860px) { .fh-footer-grid { grid-template-columns: 1fr; gap: 2.2rem; } }

/* Scroll reveal (only when JS is running) */
.fh-js .fh-reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.fh-js .fh-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .fh-js .fh-reveal { opacity: 1; transform: none; transition: none; } *, *::before, *::after { transition-duration: .01ms !important; } }

/* ==========================================================
   About Us page additions
   ========================================================== */
.fh-hero-sm { padding: clamp(3rem, 6vw, 4.5rem) 0 clamp(4.5rem, 8vw, 6rem); }
.fh-hero-sm h1 { font-size: clamp(2.2rem, 4.2vw, 3.4rem); }
.fh-eyebrow-light { color: var(--saffron); }
.fh-split { display: grid; grid-template-columns: 1fr 1.4fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.fh-prose p { color: var(--muted); font-size: 1.02rem; }
.fh-mission { max-width: 820px; margin: 0 auto; text-align: center; border-left: 4px solid var(--saffron); padding: 0 0 0 2rem; text-align: left; }
.fh-mission p { color: var(--muted); font-size: 1.02rem; }
.fh-topic { padding: 2rem 1.6rem 1.8rem; text-align: center; }
.fh-topic-icon { width: 88px; height: 88px; border-radius: 50%; background: var(--cream-deep); display: grid; place-items: center; font-size: 2.6rem; line-height: 1; margin: 0 auto 1.25rem; transition: transform .5s var(--ease); }
.fh-topic:hover .fh-topic-icon { transform: rotate(-8deg) scale(1.05); }
.fh-topic .fh-card-body { padding: 0; }
.fh-principles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.fh-principle { border: 1px solid rgba(255,253,245,.15); border-radius: 16px; padding: 1.8rem 2rem; background: rgba(255,253,245,.04); transition: transform .45s var(--ease), background .45s var(--ease); }
.fh-principle:hover { transform: translateY(-4px); background: rgba(255,253,245,.08); }
.fh-principle h3 { color: var(--saffron); font-size: 1.2rem; }
.fh-principle p { margin: 0; }
@media (max-width: 860px) { .fh-split { grid-template-columns: 1fr; } .fh-mission { padding-left: 1.2rem; } .fh-principles { grid-template-columns: 1fr; } }
@media (max-width: 960px) { .fh-cols-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .fh-cols-4 { grid-template-columns: 1fr; } }
/* New About sections */
.fh-new .fh-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.fh-split-media{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-md)}
.fh-split-media img{width:100%;height:100%;object-fit:cover;display:block}
.fh-split-text p{color:var(--muted)}
.fh-timeline{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem}
.fh-step{text-align:center}
.fh-step-icon{width:88px;height:88px;border-radius:50%;background:var(--cream-deep);display:grid;place-items:center;font-size:2.6rem;line-height:1;margin:0 auto 1rem}
.fh-step h3{font-size:1.1rem;margin-bottom:.4rem}
.fh-step p{font-size:.92rem;color:var(--muted);margin:0}
.fh-new-regions{grid-template-columns:repeat(4,1fr);margin-top:2.5rem}
.fh-new-stories{grid-template-columns:repeat(3,1fr);margin-top:2.5rem}
.fh-new-regions .fh-card-media img,.fh-new-stories .fh-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.fh-new-regions .fh-card-body,.fh-new-stories .fh-card-body{flex:1;display:flex;flex-direction:column;align-items:flex-start}
.fh-new-btn{display:inline-block;margin-top:auto;padding:.6rem 1.25rem;border-radius:999px;background:var(--saffron);color:#052A1E;text-decoration:none;font-weight:600;font-size:.95rem}
.fh-new-btn:hover{filter:brightness(1.06)}
@media (max-width:1000px){.fh-new-regions{grid-template-columns:repeat(2,1fr)}.fh-timeline{grid-template-columns:1fr;gap:2rem}.fh-step{display:grid;grid-template-columns:88px 1fr;gap:0 1.25rem;text-align:left;align-items:center}.fh-step-icon{margin:0}.fh-step h3,.fh-step p{grid-column:2}}
@media (max-width:820px){.fh-new .fh-split{grid-template-columns:1fr}.fh-new-stories{grid-template-columns:1fr}}
@media (max-width:520px){.fh-new-regions{grid-template-columns:1fr}}
/* Explore Food page */
.fh-ex-grid{display:grid;gap:1.75rem;margin-top:2.5rem}
.fh-ex-3{grid-template-columns:repeat(3,1fr)}
.fh-ex-card{animation:fhExIn .7s var(--ease) both;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.fh-ex-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.fh-ex-card:hover .fh-card-media img{transform:scale(1.06)}
.fh-ex-card .fh-card-media{aspect-ratio:3/2}
.fh-ex-card .fh-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.fh-ex-card .fh-card-body{flex:1;display:flex;flex-direction:column;align-items:flex-start}
.fh-ex-card .fh-card-body p{margin:0 0 .4rem}
.fh-ex-card .fh-new-btn{margin-top:auto}
.fh-ex-cat{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--saffron-deep);font-weight:600;margin:0 0 .4rem!important}
.fh-ex-verify{display:inline-block;margin:0 0 .6rem;padding:.2rem .65rem;border-radius:999px;background:var(--cream-deep);font-size:.75rem;color:var(--muted)}
.fh-ex-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:200px;background:linear-gradient(135deg,var(--green-soft),var(--green-deep));color:var(--cream);font-size:.9rem}
.fh-ex-note p{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin:0}
@keyframes fhExIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.fh-ex-card:nth-child(2){animation-delay:.08s}.fh-ex-card:nth-child(3){animation-delay:.16s}
@media (prefers-reduced-motion:reduce){.fh-ex-card{animation:none}}
@media (max-width:1000px){.fh-ex-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.fh-ex-3{grid-template-columns:1fr}}
/* Explore page CTA */
.fh-ex-cta{background:linear-gradient(120deg,#052A1E 0%,var(--green) 55%,#0A4A36 100%);color:var(--cream);text-align:center;padding:clamp(3rem,6vw,4.5rem) 0}
.fh-ex-cta h2{color:var(--cream);margin-bottom:.6rem}
.fh-ex-cta p{color:rgba(255,253,245,.85);max-width:560px;margin:0 auto 1.5rem}

/* Recipes and Cooking Guides page */
.fh-ex-list{margin:0 0 .6rem 1.1rem;color:var(--muted);font-size:.93rem;padding:0}
.fh-ex-list li{margin-bottom:.3rem}
.fh-rec-article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.5rem,4vw,2.5rem);margin-top:2.5rem;box-shadow:var(--shadow-sm)}
.fh-rec-article h3{font-size:1.6rem;margin:.2rem 0 .5rem}
.fh-rec-intro{color:var(--muted);margin:0}
.fh-rec-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;padding:1rem 0;margin:1.2rem 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fh-rec-cols,.fh-rec-extra{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem;margin-top:1.8rem}
.fh-rec-extra{grid-template-columns:repeat(3,1fr)}
.fh-rec-article h4{font-size:1.1rem;margin:0 0 .6rem}
.fh-rec-article ul,.fh-rec-article ol{margin:0;padding-left:1.2rem;color:var(--muted)}
.fh-rec-article li{margin-bottom:.45rem}
.fh-rec-extra p{color:var(--muted);margin:0}
.fh-rec-faq{margin-top:1.8rem}
.fh-rec-faq details{border-bottom:1px solid var(--line);padding:.7rem 0}
.fh-rec-faq summary{cursor:pointer;font-weight:600}
.fh-rec-faq p{color:var(--muted);margin:.5rem 0 0}
.fh-rec-print{margin-top:1.5rem}
@media (max-width:900px){.fh-rec-cols,.fh-rec-extra{grid-template-columns:1fr}}
@media print{.fh-rec-print,.fh-hero,.fh-ex-cta{display:none}.fh-rec-article{box-shadow:none;border:none}}
/* Food Stories page */
.fh-tl-6{grid-template-columns:repeat(6,1fr)}
@media (max-width:1000px){.fh-tl-6{grid-template-columns:1fr}}
.fh-story-links{list-style:none;padding:0;margin:1.5rem 0 0}
.fh-story-links li{margin:.5rem 0}
.fh-story-links a{color:var(--green-deep);font-weight:600;text-decoration:none;border-bottom:1px solid var(--saffron)}
.fh-story-more summary{list-style:none;cursor:pointer;display:inline-block}
.fh-story-more summary::-webkit-details-marker{display:none}
.fh-story-more[open] summary{opacity:.85}
.fh-story-more p{color:var(--muted);margin:.7rem 0 0}
/* Blog page */
.fh-blog-cats{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2rem}
.fh-blog-cats a{padding:.5rem 1.1rem;border-radius:999px;border:1px solid var(--line);color:var(--green-deep);text-decoration:none;font-weight:500;background:#fff}
.fh-blog-cats a:hover,.fh-blog-cats a.is-active{background:var(--green-deep);color:var(--cream);border-color:var(--green-deep)}
.fh-blog-pages{margin-top:2.5rem;display:flex;justify-content:center;flex-wrap:wrap}
.fh-blog-pages .page-numbers{display:inline-block;padding:.45rem .85rem;margin:.15rem;border-radius:8px;border:1px solid var(--line);color:var(--green-deep);text-decoration:none}
.fh-blog-pages .page-numbers.current{background:var(--saffron);border-color:var(--saffron);color:#052A1E}
.fh-blog-empty{text-align:center;color:var(--muted)}
/* Contact page */
.fh-contact-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.fh-form{display:grid;gap:1.1rem;position:relative}
.fh-field label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--green-deep)}
.fh-field input,.fh-field select,.fh-field textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;box-sizing:border-box;color:inherit}
.fh-field input:focus,.fh-field select:focus,.fh-field textarea:focus{outline:3px solid var(--saffron);outline-offset:1px}
.fh-field [aria-invalid='true']{border-color:#b3261e}
.fh-error{color:#b3261e;font-size:.9rem;min-height:1.1em;margin:.3rem 0 0}
.fh-form-submit{justify-self:start;border:0;cursor:pointer}
.fh-form-status{padding:1rem 1.2rem;border-radius:10px;margin:0}
.fh-form-status:empty{display:none}
.fh-form-status.is-success{background:#e6f4ea;color:#14532d}
.fh-form-status.is-notice{background:var(--cream-deep);color:var(--green-deep)}
.fh-form-status.is-error{background:#fdecea;color:#7a1f1a}
.fh-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.fh-faq{max-width:800px;margin-top:2rem}
.fh-faq details{border-bottom:1px solid var(--line);padding:.9rem 0}
.fh-faq summary{cursor:pointer;font-weight:600;color:var(--green-deep)}
.fh-faq p{color:var(--muted);margin:.6rem 0 0}
@media (max-width:820px){.fh-contact-wrap{grid-template-columns:1fr}}
/* Contact details */
.fh-footer-contact{list-style:none;padding:0;margin:0}
.fh-footer-contact li{margin-bottom:.45rem}
.fh-footer-contact a{color:inherit}
.fh-contact-details{list-style:none;padding:0;margin:1.25rem 0 0}
.fh-contact-details li{margin:.45rem 0}
.fh-contact-details a{color:var(--green-deep);font-weight:600}

/* Footer headings white */
.fh-footer .fh-footer-title{color:#FFFFFF!important;opacity:1}
