diff --git a/frontend/src/pages/BandProfilePage.jsx b/frontend/src/pages/BandProfilePage.jsx
index 1f119344..20640475 100644
--- a/frontend/src/pages/BandProfilePage.jsx
+++ b/frontend/src/pages/BandProfilePage.jsx
@@ -477,6 +477,18 @@ export default function BandProfilePage() {
className="h-full w-full object-cover opacity-60"
/>
+ {/* Page-level action lives in the header, not beside the bio —
+ the old placement floated awkwardly above the bio on mobile
+ and forced an empty column on desktop (Dre, 2026-07-17). */}
+
+
+
{profile.name}
@@ -499,49 +511,52 @@ export default function BandProfilePage() {
) : (
-
{profile.name}
-
- {profile.genre && (
-
-
- {profile.genre}
-
- )}
- {profile.origin && (
-
-
- {profile.origin}
-
- )}
+ {/* Share sits top-right of the header on both variants — see the
+ photo-variant comment above. */}
+
+
+
+ {profile.name}
+
+
+ {profile.genre && (
+
+
+ {profile.genre}
+
+ )}
+ {profile.origin && (
+
+
+ {profile.origin}
+
+ )}
+
+
+
+
+
)}
- {/* Bio, Social Links, and Share */}
+ {/* Bio and Social Links — Share moved to the header (page-level
+ action); the bio keeps max-w-prose for line-length, not layout */}
-
-
- {profile.description ? (
-
- ) : (
- !hasAnySocial(profile.social) && (
-
No bio added yet.
- )
- )}
-
-
-
-
-
+ {profile.description ? (
+
+ ) : (
+ !hasAnySocial(profile.social) &&
No bio added yet.
+ )}
{hasAnySocial(profile.social) ? (