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:
@@ -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),
|
||||||
|
|||||||
@@ -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); }
|
||||||
|
|||||||
Reference in New Issue
Block a user