diff --git a/assets/sass/_theme/design-system/search.sass b/assets/sass/_theme/design-system/search.sass
index b5a6369ab1da8a81b6dd9edec891c5161c4cb49b..e343e5be059e90f1af587b1165391b1f71ef9670 100644
--- a/assets/sass/_theme/design-system/search.sass
+++ b/assets/sass/_theme/design-system/search.sass
@@ -148,12 +148,12 @@
                 padding-top: calc(#{$spacing3} + #{half($spacing0)})
 
 .pagefind-fixed
-    position: fixed
     background: $color-background
     bottom: 0
     left: $spacing3
-    z-index: 10
     min-width: calc(#{$spacing3} * 3)
+    position: fixed
+    z-index: 10
     &::after
         position: absolute
         right: $spacing0
@@ -162,3 +162,8 @@
         width: 100vw
         &.in-page-with-toc
             bottom: px2rem(44)
+
+.pagefind-footer
+    padding: 0
+    margin-bottom: calc(#{$spacing3} + #{half($spacing3)})
+
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 68beb97d308ee8a22ae458275a6522a5dd29d5ec..96f9fc769d1128cc85028030c2b8949bca2d543b 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -16,10 +16,12 @@
     {{- partial "header/header.html" . -}}
     <main{{ if .Params.contents }} class="page-with-blocks"{{ end }} id="main" tabindex="-1">
       {{ if and (site.Params.search.active) (eq site.Params.search.position "fixed")}}
-        <button id="search-button" class="pagefind-ui__toggle pagefind-fixed " aria-expanded="false">
-          {{- i18n (printf "commons.search.title") -}}
-        </button>
-        {{- partial "header/search.html" . -}}
+        {{ partial "header/search.html"
+          (dict
+              "position" "fixed"
+              "context" .
+          ) 
+        }}
       {{ end }}
       {{- block "main" . }}{{- end }}
       {{- partial "hooks/before-main-end" . -}}
diff --git a/layouts/partials/commons/menu.html b/layouts/partials/commons/menu.html
index 57273528b3a2e2fad8c7acfceba7b807de8dc053..20cc58baf3f99d5aa6b50fbf4886fa5bcfb8acad 100644
--- a/layouts/partials/commons/menu.html
+++ b/layouts/partials/commons/menu.html
@@ -64,10 +64,12 @@
   {{ end -}}
   
   {{ if and (eq $kind "primary") (site.Params.search.active) (eq site.Params.search.position "menu")}}
-    <button id="search-button" class="pagefind-ui__toggle" aria-expanded="false">
-      {{- i18n (printf "commons.search.title") -}}
-    </button>
-    {{- partial "header/search.html" . -}}
+    {{ partial "header/search.html"
+      (dict
+          "position" "menu"
+          "context" .
+      ) 
+    }}
   {{ end }}
   {{ if and (eq $kind "primary") (site.Params.menu.i18n.display) }}
     {{ partial "header/i18n.html" . }}
diff --git a/layouts/partials/footer/footer-simple.html b/layouts/partials/footer/footer-simple.html
index 40f8d28809f71acfc48a40e80154b05198405d20..0a5e44dad665a21f4563f39d81dcfe43c2b72960 100644
--- a/layouts/partials/footer/footer-simple.html
+++ b/layouts/partials/footer/footer-simple.html
@@ -12,6 +12,14 @@
     {{ partial "footer/social.html" }}
   </div>
   <div class="footer-legals">
+    {{ if and (site.Params.search.active) (eq site.Params.search.position "footer")}}
+      {{ partial "header/search.html"
+        (dict
+            "position" "footer"
+            "context" .
+        )
+      }}
+    {{ end }}
     {{ partial "footer/legals.html" }}
   </div>
 </div>
diff --git a/layouts/partials/header/search.html b/layouts/partials/header/search.html
index ce06120ebf2b7a270d5d110e483b6650011e728a..d9fbe7563bb9ff074ee845450019e83bcb1a2be2 100644
--- a/layouts/partials/header/search.html
+++ b/layouts/partials/header/search.html
@@ -1,3 +1,7 @@
+<button id="search-button" class="pagefind-ui__toggle pagefind-{{ .position }}" aria-expanded="false">
+  {{- i18n (printf "commons.search.title") -}}
+</button>
+
 <script src="/pagefind/pagefind-ui.js"></script>
 <div id="search" class="search__modal" aria-hidden="true" aria-modal="true" role="dialog">
   <button class="search__close" aria-label="{{ i18n "commons.search.close" }}">