<%= render partial: "form/guidance/#{question.guidance_partial}" if question.top_guidance? %>
  <% banner = question.notification_banner(@log) %>
  <% if banner %>
    <%= govuk_notification_banner(
      title_text: banner[:title],
      title_heading_level: 3,
    ) do
      simple_format(banner[:heading])
    end %>
  <% end %>

<%= f.govuk_radio_buttons_fieldset question.id.to_sym,
  caption: caption(caption_text, page_header, conditional),
  legend: legend(question, page_header, conditional),
  hint: { text: question.hint_text&.html_safe } do %>

  <% question.displayed_answer_options(@log, current_user).map do |key, options| %>
    <% if key.starts_with?("divider") %>
      <%= f.govuk_radio_divider %>
    <% else %>
      <% conditional_question = find_conditional_question(@page, question, key) %>
      <% if conditional_question.nil? %>
        <%= f.govuk_radio_button question.id,
          key,
          label: { text: options["value"] },
          hint: { text: options["hint"] },
          **stimulus_html_attributes(question) %>
      <% else %>
        <%= f.govuk_radio_button question.id,
          key,
          label: { text: options["value"] },
          hint: { text: options["hint"] },
          **stimulus_html_attributes(question) do %>
            <%= render partial: "#{conditional_question.type}_question", locals: {
              question: conditional_question,
              caption_text:,
              page_header:,
              f:,
              conditional: true,
            } %>
        <% end %>
      <% end %>
    <% end %>
  <% end %>
<% end %>

<%= render partial: "form/guidance/#{question.guidance_partial}" if question.bottom_guidance? %>