Responsive mobile

- Anti-debordement horizontal global (overflow-x hidden, img max-width)
- Container : padding reduit a 16px sous 640px
- En-tete/pied de page : padding horizontal fluide (clamp), en-tete wrap
- Titres principaux en clamp() (accueil hero/h2, annuaire, fiche) pour
  ne plus deborder sur petit ecran
- Liste adherents du back-office : defilement horizontal (.table-scroll)
  au lieu de colonnes ecrasees

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 4.8 committed 2026-06-27 11:07:07 +02:00
1 parent 497ea0562c
commit c199d7a7db
7 files changed
+30 -9

No files matched your search

+1 -1
View File
@@ -136,7 +136,7 @@ export default async function FicheAdherentPage({
</div>
<div style={{ flex: 1, minWidth: 240, paddingTop: 20 }}>
<div style={{ display: "flex", alignItems: "center", gap: 12, flexWrap: "wrap" }}>
<h1 className="font-display" style={{ fontWeight: 800, fontSize: 32, letterSpacing: "-0.02em", margin: 0, color: "#26201a" }}>{member.name}</h1>
<h1 className="font-display" style={{ fontWeight: 800, fontSize: "clamp(22px, 5vw, 32px)", letterSpacing: "-0.02em", margin: 0, color: "#26201a" }}>{member.name}</h1>
{member.categoryLabel && (
<span style={{ background: "#9a6638", color: "#fff", borderRadius: 999, padding: "5px 13px", fontSize: 12, fontWeight: 700 }}>{member.categoryLabel}</span>
)}
+1 -1
View File
@@ -72,7 +72,7 @@ export default async function AnnuairePage({
<span style={{ width: 7, height: 7, borderRadius: "50%", background: "#E0A63C" }} />
{members.length} adhérents
</div>
<h1 className="font-display" style={{ fontWeight: 800, fontSize: 40, letterSpacing: "-0.02em", margin: "0 0 8px", color: "#26201a" }}>
<h1 className="font-display" style={{ fontWeight: 800, fontSize: "clamp(26px, 6vw, 40px)", letterSpacing: "-0.02em", margin: "0 0 8px", color: "#26201a" }}>
L&apos;annuaire des commerçants &amp; entreprises
</h1>
<p style={{ margin: 0, fontSize: 16.5, color: "#6c6150", maxWidth: 560 }}>
+3 -1
View File
@@ -89,7 +89,8 @@ export default async function AdherentsPage({
<AddMemberPanel categories={cats} />
<div style={{ background: "#fff", border: "1px solid #e6dcc6", borderRadius: 16, overflow: "hidden" }}>
<div className="table-scroll">
<div style={{ background: "#fff", border: "1px solid #e6dcc6", borderRadius: 16, overflow: "hidden", minWidth: 560 }}>
<div style={{ display: "flex", alignItems: "center", justifyContent: "space-between", padding: "18px 22px", borderBottom: "1px solid #f0e8d6", gap: 12, flexWrap: "wrap" }}>
<form style={{ display: "flex", alignItems: "center", gap: 10, background: "#faf7ef", border: "1px solid #e6dcc6", borderRadius: 10, padding: "8px 14px" }}>
<span style={{ width: 9, height: 9, border: "2px solid #9a8d72", borderRadius: "50%" }} />
@@ -156,6 +157,7 @@ export default async function AdherentsPage({
);
})}
</div>
</div>
</div>
);
}
+18
View File
@@ -270,6 +270,24 @@ button {
.grid-3 {
grid-template-columns: 1fr;
}
.container {
padding: 0 16px;
}
}
/* Évite tout débordement horizontal sur mobile. */
html,
body {
overflow-x: hidden;
max-width: 100%;
}
img {
max-width: 100%;
}
/* Tables/listes larges du back-office : défilement horizontal contenu. */
.table-scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
/* ---- Backend layout ---- */
+4 -4
View File
@@ -83,8 +83,8 @@ export default async function AccueilPage() {
className="font-display"
style={{
fontWeight: 800,
fontSize: 52,
lineHeight: 1.03,
fontSize: "clamp(30px, 7vw, 52px)",
lineHeight: 1.05,
letterSpacing: "-0.02em",
margin: "0 0 8px",
color: "#26201a",
@@ -199,7 +199,7 @@ export default async function AccueilPage() {
</div>
<h2
className="font-display"
style={{ fontWeight: 800, fontSize: 32, letterSpacing: "-0.02em", margin: 0, color: "#26201a" }}
style={{ fontWeight: 800, fontSize: "clamp(22px, 5vw, 32px)", letterSpacing: "-0.02em", margin: 0, color: "#26201a" }}
>
Les promotions de nos adhérents
</h2>
@@ -332,7 +332,7 @@ export default async function AccueilPage() {
<Sparkle color="#E0A63C" size={18} style={{ top: 24, left: 60 }} duration={3.4} />
<Sparkle color="#6FB0C6" size={22} style={{ bottom: 26, right: 80 }} duration={2.8} delay={0.7} />
<Reveal className="reveal">
<h2 className="font-display" style={{ fontWeight: 800, fontSize: 30, margin: "0 0 10px", color: "#fff" }}>
<h2 className="font-display" style={{ fontWeight: 800, fontSize: "clamp(22px, 5vw, 30px)", margin: "0 0 10px", color: "#fff" }}>
Faites partie de l&apos;aventure Plein R
</h2>
<p style={{ margin: "0 auto 22px", fontSize: 15.5, color: "#f4e6d3", maxWidth: 480 }}>