Servizi home, testo promo, fix immagini override e rimozione Antonello

- ServicesGrid: filtra grid !== false come /services (via Small Group, Rehab,
  Holistic Class, Reformer Class dalla griglia Servizi in home)
- promo-eventi: badge "solo per apertura nuova sede Settembre 2026"
- MethodSteps e about: .tcard/.method__circle usano :global(img) così gli
  override <img> di <TImg> (senza cid) ricevono border-radius/object-fit
- about: griglia team a flex centrato, ultima riga incompleta non piu a sinistra
- team: rimosso Antonello D'Alessandro (staff about e homeTeam)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 23:01:52 +02:00
parent 3b8983dca5
commit 1b9a3c1343
5 changed files with 18 additions and 9 deletions
+3 -1
View File
@@ -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 <img> di override resi da <TImg> 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); }
+6 -1
View File
@@ -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);
---
<section class="section">
<div class="container">
@@ -10,7 +15,7 @@ import T from '../content/T.astro';
<T tag="home.services.body" as="p" />
</div>
<div class="pgrid">
{services.map((p, i) => (
{gridServices.map((p, i) => (
<a class="pgrid__item" href={`/services/${p.slug}`} data-reveal style={`--reveal-delay:${(i % 3) * 0.15}s`}>
<svg viewBox="0 0 24 24" fill="none" stroke="var(--c-accent-dark)" stroke-width="1.4" width="52" height="52" aria-hidden="true"><path d={icons[p.slug]} /></svg>
<T tag={`service.${p.slug}.title`} as="h3" />