Fix buttons rendering with iOS Safari's default blue chrome

globals.scss's button reset only set font: inherit — no appearance
reset, no color fallback. Several buttons only set a background and
relied on inherited text color, which iOS Safari doesn't honor for
unstyled <button> elements, so their labels/icons rendered in Safari's
native blue instead of the theme color:

- .stepperButton in MenuItemCustomizer, MenuList, and basket
- .refreshButton in admin/kitchen
- .addButton in admin/MenuItemForm (color was only set on :hover)

Added explicit `color` to each, and hardened globals.scss's button
reset with `color: inherit` plus `-webkit-appearance: none` /
`appearance: none` as a fallback for any future button that forgets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RvYdJ3os7tumimsLdLu2j9
This commit is contained in:
2026-09-13 21:22:11 +02:00
co-authored by Claude Sonnet 5
parent 0da1f47573
commit 05a91bb5c3
6 changed files with 11 additions and 0 deletions
@@ -107,6 +107,7 @@
border: 1px dashed $color-border; border: 1px dashed $color-border;
border-radius: $radius; border-radius: $radius;
background: $color-background; background: $color-background;
color: $color-text;
cursor: pointer; cursor: pointer;
font-size: 0.85rem; font-size: 0.85rem;
@@ -62,6 +62,7 @@
border-radius: 50%; border-radius: 50%;
border: 1px solid $color-border; border: 1px solid $color-border;
background: $color-background; background: $color-background;
color: $color-text;
cursor: pointer; cursor: pointer;
transition: border-color 0.15s ease; transition: border-color 0.15s ease;
@@ -80,6 +80,7 @@
border-radius: 50%; border-radius: 50%;
border: 1px solid $color-border; border: 1px solid $color-border;
background: $color-background; background: $color-background;
color: $color-text;
cursor: pointer; cursor: pointer;
align-self: center; align-self: center;
justify-self: center; justify-self: center;
+1
View File
@@ -17,6 +17,7 @@
border: 1px solid $color-border; border: 1px solid $color-border;
border-radius: $radius; border-radius: $radius;
background: $color-background; background: $color-background;
color: $color-text;
cursor: pointer; cursor: pointer;
transition: border-color 0.15s ease; transition: border-color 0.15s ease;
+1
View File
@@ -138,6 +138,7 @@
border-radius: 50%; border-radius: 50%;
border: 1px solid $color-border; border: 1px solid $color-border;
background: $color-background; background: $color-background;
color: $color-text;
cursor: pointer; cursor: pointer;
align-self: center; align-self: center;
justify-self: center; justify-self: center;
+6
View File
@@ -56,8 +56,14 @@ body {
background: $color-background; background: $color-background;
} }
// iOS Safari renders an unstyled <button> with its own native blue text/
// chrome unless appearance is reset and a color is set explicitly — this
// is a fallback for any button that forgets to set its own `color`.
button { button {
font: inherit; font: inherit;
color: inherit;
-webkit-appearance: none;
appearance: none;
} }
// Route navigation transitions, powered by the router's defaultViewTransition // Route navigation transitions, powered by the router's defaultViewTransition