Reformer Class: bottone Contattaci e calendario evidenziato

Refs #19

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-29 14:06:40 +00:00
parent 680224e773
commit 9efd9a7680
2 changed files with 10 additions and 4 deletions
+1
View File
@@ -269,6 +269,7 @@ export const contentSeed: SeedEntry[] = [
T('service.pricing.entries-singular', 'ingresso settimanale', []), T('service.pricing.entries-singular', 'ingresso settimanale', []),
T('service.pricing.entries-plural', 'ingressi settimanali', []), T('service.pricing.entries-plural', 'ingressi settimanali', []),
T('service.pricing.buy-cta', 'Acquista', []), T('service.pricing.buy-cta', 'Acquista', []),
T('service.contact-cta', 'Contattaci', []),
// --- Pricing performance class (data-driven da pricing.ts; monthly/entries restano nel data file) --- // --- Pricing performance class (data-driven da pricing.ts; monthly/entries restano nel data file) ---
T('pricing.heading', performanceClassPricing.heading), T('pricing.heading', performanceClassPricing.heading),
+9 -4
View File
@@ -38,6 +38,9 @@ const tones = ['tan', 'taupe', 'dark'];
<div> <div>
<h2>{t(`service.${slug}.title`).toUpperCase()}</h2> <h2>{t(`service.${slug}.title`).toUpperCase()}</h2>
<T tag={`service.${slug}.long-description`} as="p" class="prog__desc" /> <T tag={`service.${slug}.long-description`} as="p" class="prog__desc" />
{slug === 'reformer-class' && (
<p class="prog__cta"><a class="btn" href="/contact">{t('service.contact-cta')}</a></p>
)}
{service.features.length > 0 && ( {service.features.length > 0 && (
<ul class="prog__features"> <ul class="prog__features">
{service.features.map((_, i) => <T tag={`service.${slug}.feature.${i + 1}`} as="li" />)} {service.features.map((_, i) => <T tag={`service.${slug}.feature.${i + 1}`} as="li" />)}
@@ -77,7 +80,7 @@ const tones = ['tan', 'taupe', 'dark'];
</a> </a>
))} ))}
{conCalendario && ( {conCalendario && (
<button type="button" class="prog__other prog__other--calendario" data-apri-calendario> <button type="button" class="prog__calendario" data-apri-calendario>
<span class="prog__icon"> <span class="prog__icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" width="26" height="26" aria-hidden="true"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" width="26" height="26" aria-hidden="true">
<path d="M4 6h16v14H4zM4 10h16M8 3v4M16 3v4M8 14h3M8 17h3M14 14h2" /> <path d="M4 6h16v14H4zM4 10h16M8 3v4M16 3v4M8 14h3M8 17h3M14 14h2" />
@@ -140,9 +143,11 @@ const tones = ['tan', 'taupe', 'dark'];
.prog__cat { font-family: var(--font-heading); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--c-text); margin-bottom: 10px; } .prog__cat { font-family: var(--font-heading); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--c-text); margin-bottom: 10px; }
.prog__other { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--c-text); margin-bottom: 14px; font-family: var(--font-heading); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; } .prog__other { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--c-text); margin-bottom: 14px; font-family: var(--font-heading); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
.prog__other:hover { color: var(--c-accent-dark); } .prog__other:hover { color: var(--c-accent-dark); }
/* La voce del calendario apre un popup, quindi è un bottone e non un link: qui gli si /* Il calendario dei corsi (popup) è staccato dall'elenco degli altri servizi e pieno
toglie l'aspetto da bottone perché nella colonna sia indistinguibile dalle altre voci. */ nel colore d'accento: il cliente lo vuole evidente (InsanityLab-web#19). */
.prog__other--calendario { background: none; border: 0; padding: 0; cursor: pointer; width: 100%; text-align: left; } .prog__calendario { display: flex; align-items: center; gap: 14px; width: 100%; margin-top: 36px; padding: 10px 16px 10px 10px; border: 0; cursor: pointer; text-align: left; background: var(--c-dark); color: #fff; font-family: var(--font-heading); font-size: .82rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; transition: background .2s; }
.prog__calendario:hover { background: var(--c-accent-dark); }
.prog__cta { margin: 10px 0 30px; }
.prog__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: var(--c-accent); color: #fff; flex-shrink: 0; } .prog__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: var(--c-accent); color: #fff; flex-shrink: 0; }
.price__group { border-top: 1px solid #ddd5ca; padding-block: 18px; } .price__group { border-top: 1px solid #ddd5ca; padding-block: 18px; }
.price__group summary { cursor: pointer; font-family: var(--font-heading); letter-spacing: .12em; text-transform: uppercase; font-size: .85rem; color: var(--c-heading); } .price__group summary { cursor: pointer; font-family: var(--font-heading); letter-spacing: .12em; text-transform: uppercase; font-size: .85rem; color: var(--c-heading); }