refactor: update sections for improved layout and styling
- Revamp Contact, FinalCta, Hero, Hours, SalonPromise, Services, SiteHeader, Trust components to use a new v2 design system. - Enhance responsiveness and accessibility across sections. - Introduce new styles for better visual hierarchy and user experience. - Integrate review data into Trust section and update site content structure.
This commit is contained in:
@@ -2,18 +2,18 @@
|
||||
import { siteContent } from "@/content/site-content"
|
||||
---
|
||||
|
||||
<section id="leistungen" class="section-shell services-section" aria-labelledby="services-title">
|
||||
<div class="section-heading">
|
||||
<p class="eyebrow">Leistungen</p>
|
||||
<section id="leistungen" class="section-v2 services-v2" aria-labelledby="services-title">
|
||||
<div class="section-heading-v2">
|
||||
<p class="eyebrow-v2">Leistungen</p>
|
||||
<h2 id="services-title">Alles, was ein guter Salonbesuch braucht.</h2>
|
||||
<p>Die Auswahl bleibt bewusst klar. Details, Wünsche und Termine werden am besten direkt telefonisch besprochen.</p>
|
||||
<p>Fokus auf das Wesentliche: Ihr Look, Ihr Typ, Ihr Termin. Details und Wünsche besprechen wir am besten kurz am Telefon.</p>
|
||||
</div>
|
||||
|
||||
<div class="service-list">
|
||||
<div class="services-v2__grid">
|
||||
{
|
||||
siteContent.services.map((service, index) => (
|
||||
<article class="service-row">
|
||||
<span class="service-index">{String(index + 1).padStart(2, "0")}</span>
|
||||
<article class="services-v2__card" style={index % 2 === 1 ? "margin-top: 3rem;" : undefined}>
|
||||
<span class="service-index-v2">{String(index + 1).padStart(2, "0")}</span>
|
||||
<h3>{service.title}</h3>
|
||||
<p>{service.text}</p>
|
||||
</article>
|
||||
@@ -21,3 +21,60 @@ import { siteContent } from "@/content/site-content"
|
||||
}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
.services-v2 {
|
||||
background: var(--v2-bg);
|
||||
}
|
||||
|
||||
.services-v2__grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: clamp(2rem, 4vw, 4rem);
|
||||
margin-top: clamp(3rem, 5vw, 5rem);
|
||||
}
|
||||
|
||||
.services-v2__card {
|
||||
display: grid;
|
||||
gap: 0.75rem;
|
||||
padding-bottom: clamp(2rem, 3vw, 3rem);
|
||||
border-bottom: 1.5px solid var(--v2-hairline);
|
||||
}
|
||||
|
||||
.services-v2__card:nth-child(even) {
|
||||
margin-top: 4rem;
|
||||
}
|
||||
|
||||
.service-index-v2 {
|
||||
color: var(--v2-primary);
|
||||
font-family: var(--font-heading);
|
||||
font-size: clamp(3rem, 6vw, 6rem);
|
||||
line-height: 0.85;
|
||||
display: block;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.services-v2__card h3 {
|
||||
font-family: var(--font-heading);
|
||||
font-size: clamp(1.5rem, 2.5vw, 2.2rem);
|
||||
line-height: 1.1;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.services-v2__card p {
|
||||
color: var(--v2-muted);
|
||||
line-height: 1.65;
|
||||
margin: 0;
|
||||
max-width: 36ch;
|
||||
}
|
||||
|
||||
@media (max-width: 820px) {
|
||||
.services-v2__grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.services-v2__card:nth-child(even) {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user