diff --git a/src/components/home/MethodSteps.astro b/src/components/home/MethodSteps.astro index 35a59a4..2178a5d 100644 --- a/src/components/home/MethodSteps.astro +++ b/src/components/home/MethodSteps.astro @@ -36,7 +36,9 @@ const imgOf = (name: string) => Object.entries(images).find(([p]) => p.includes( .method__cta { text-align: center; margin-top: 48px; } .method__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: center; position: relative; } .method__circle { position: relative; width: 150px; height: 150px; margin: 0 auto 20px; border: 1px dashed var(--c-accent-dark); border-radius: 50%; padding: 8px; } - .method__circle img { border-radius: 50%; width: 100%; height: 100%; object-fit: cover; } + /* :global(img) perché gli di override resi da non ereditano il cid + del componente: senza questo la regola scoped non li raggiungerebbe. */ + .method__circle :global(img) { border-radius: 50%; width: 100%; height: 100%; object-fit: cover; } .method__circle span { position: absolute; top: -6px; left: -6px; font-family: var(--font-heading); font-size: 2.4rem; color: var(--c-heading); background: var(--c-bg-alt); padding: 0 8px; } .method__step h3 { font-size: .85rem; text-transform: uppercase; letter-spacing: .14em; } .method__step p { font-size: .85rem; color: var(--c-text-light); } diff --git a/src/components/home/ServicesGrid.astro b/src/components/home/ServicesGrid.astro index 9c7b491..d87b42e 100644 --- a/src/components/home/ServicesGrid.astro +++ b/src/components/home/ServicesGrid.astro @@ -2,6 +2,11 @@ import { services } from '../../data/services'; import { serviceIcons as icons } from '../../data/service-icons'; import T from '../content/T.astro'; + +// Stessa convenzione di /services: le voci con grid:false (Small Group, Rehab, +// Holistic Class, Reformer Class) sono approfondimenti dei riquadri Training e +// non compaiono nella griglia Servizi. +const gridServices = services.filter((p) => p.grid !== false); ---
@@ -10,7 +15,7 @@ import T from '../content/T.astro';
- {services.map((p, i) => ( + {gridServices.map((p, i) => ( diff --git a/src/data/team.ts b/src/data/team.ts index 4f9b7fa..6edef3c 100644 --- a/src/data/team.ts +++ b/src/data/team.ts @@ -11,8 +11,6 @@ export const team: Member[] = [ bio: "Trainer – Functional & Movement. Laureando in Scienze Motorie, specializzato in running e atletica leggera." }, { name: "Eleonora Cassani", shortName: "Eleonora", role: "Trainer – Planning Manager", founder: false, imageAbout: "team-eleonora-dark", image: "team-eleonora", bio: "Trainer – Planning Manager. Chinesiologa specializzata in attività preventiva e adattata, con focus su allenamento in gravidanza e post-gravidanza." }, - { name: "Antonello D’Alessandro", shortName: "Antonello", role: "Trainer – Exercise & Health", founder: false, imageAbout: "team-antonello-dark", image: "team-antonello", - bio: "Trainer – Exercise & Health. Chinesiologo specializzato in attività preventiva e adattata, Dottore in Osteopatia." }, { name: "Alice Roda", shortName: "Alice", role: "Trainer – Functional & Movement", founder: false, imageAbout: "team-alice-dark", bio: "Trainer – Functional & Movement. Laureanda in Scienze Motorie e Preparatore Atletico. Scienza del movimento e massima cura della persona: un approccio al functional training empatico e accogliente, dove l’ascolto umano guida e supporta ogni tuo progresso." }, { name: "Davide Bisagni", shortName: "Davide", role: "Trainer – Functional & Movement", founder: false, imageAbout: "team-davide-dark", @@ -21,4 +19,4 @@ export const team: Member[] = [ bio: "Trainer – Pilates, Yoga & Mindfulness. Laureata in Psicologia Clinica e Riabilitazione, insegnante di Pilates, Yoga e Mindfulness, con approccio orientato al benessere e all’equilibrio mente-corpo." }, ]; -export const homeTeam = ["Donata", "Nicola", "Eleonora", "Antonello"]; +export const homeTeam = ["Donata", "Nicola", "Eleonora"]; diff --git a/src/pages/about.astro b/src/pages/about.astro index 0abf782..eabefec 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -149,15 +149,19 @@ export const prerender = false; .conv__cta { text-align: center; font-family: var(--font-heading); letter-spacing: .06em; } .round-img { max-width: 380px; margin: 30px auto 0; } .round-img img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; width: 100%; } - .tgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; } - .tcard img { aspect-ratio: 3/4; object-fit: cover; margin-bottom: 16px; } + /* flex + center così l'ultima riga incompleta (es. staff: 5 membri → 2 nell'ultima riga) + resta centrata invece di appoggiarsi a sinistra. */ + .tgrid { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; } + .tcard { width: calc((100% - 80px) / 3); } + /* :global(img) perché gli di override resi da non ereditano il cid. */ + .tcard :global(img) { aspect-ratio: 3/4; object-fit: cover; width: 100%; margin-bottom: 16px; } .tcard h3 { text-transform: lowercase; letter-spacing: .2em; } .tcard__role { font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; color: var(--c-accent-dark); } .tcard p { font-size: .9rem; } @media (max-width: 767px) { .about-2col, - .tgrid, .about-img-row { grid-template-columns: 1fr; } + .tcard { width: 100%; } .about-img-row--reverse { direction: ltr; } } diff --git a/src/pages/promo-eventi.astro b/src/pages/promo-eventi.astro index 4b0227b..f3d22a7 100644 --- a/src/pages/promo-eventi.astro +++ b/src/pages/promo-eventi.astro @@ -21,7 +21,7 @@ export const prerender = false;
-
solo per il lancio
+
solo per apertura nuova sede Settembre 2026

Il nostro metodo nasce per durare.

Per l'apertura, un'eccezione. Solo per poco.

In-Sanity Lab lavora per percorsi strutturati — trimestrali, semestrali — perché i risultati veri si costruiscono nel tempo. Per la nuova apertura, ci sarà un'eccezione: 5 incontri pensati come un vero mini-percorso, non semplici lezioni sciolte.