data.header not wrapped in f:render.text here — ctaHeading also feeds an aria-label attribute below (line ~22), and the edit-mode wrapper would corrupt that attribute value. {data -> f:render.text(field: 'header')}{f:translate(key: 'footer.ctaHeading', domain: 'sflg_sitepackage.messages')}

{ctaHeading}

{data -> f:render.text(field: 'subheader')}

{data.header_link.title -> f:format.trim()} {customCtaLabel} {ctaLabel}
Safari Lodges
Tripadvisor Travellers' Choice Awards 2026 West Midlands Safari Park
Social link URLs come from site settings (sflg.social.* — Configuration/Sets/sflg/settings.definitions.yaml). Each icon only renders once its URL is set — no empty href, no placeholder link to nowhere.
  • {item.title}

© now {f:translate(key: 'footer.copyright', domain: 'sflg_sitepackage.messages')}