{{- $src := .Get "src" -}}
{{- $alt := .Get "alt" | default "Image" -}}
{{- $caption := .Get "caption" -}}
{{- $class := .Get "class" | default "w-full h-auto rounded-lg border border-border" -}}
{{- $link := .Get "link" -}}
{{- $figureClass := .Get "figure-class" -}}

{{- if or $src .Inner -}}
  <figure class="my-8{{- with $figureClass }} {{ . }}{{- end -}}">
    {{- if .Inner -}}
      {{- .Inner -}}
    {{- else -}}
      {{- if $link -}}<a href="{{ $link }}">{{- end -}}
      <img src="{{ $src }}" alt="{{ $alt }}" class="{{ $class }}" loading="lazy" />
      {{- if $link -}}</a>{{- end -}}
    {{- end -}}
    {{- if $caption -}}
      <figcaption class="mt-3 text-center text-sm text-text-dim italic">{{ $caption }}</figcaption>
    {{- end -}}
  </figure>
{{- else -}}
  {{- errorf "image shortcode: 'src' parameter or inner content is required" -}}
{{- end -}}
