fix(kompetenzen): revert ServiceDetailGrid to original light theme for UI consistency
Former-commit-id: 0ad718d43eaffa63bb9d1c2ddf698e94248a6764
This commit is contained in:
@@ -95,28 +95,25 @@ export function ServiceDetailGrid({
|
||||
panels
|
||||
}: ServiceDetailGridProps) {
|
||||
return (
|
||||
<section className="bg-neutral-dark py-24 border-b border-neutral-800 text-white relative overflow-hidden">
|
||||
{/* Premium Background Ambience */}
|
||||
<div className="absolute top-0 left-0 w-full h-[500px] bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-primary/10 via-neutral-dark to-neutral-dark pointer-events-none" />
|
||||
<section className="bg-neutral-50 py-24 border-b border-neutral-100 relative overflow-hidden">
|
||||
|
||||
<div className="container relative z-10 px-4">
|
||||
<div className="container relative z-10 px-4 max-w-7xl mx-auto">
|
||||
<div className="max-w-3xl mx-auto text-center mb-20">
|
||||
{badge && <h2 className="text-primary-light font-bold tracking-wider uppercase text-sm mb-4">{badge}</h2>}
|
||||
{badge && <h2 className="text-primary font-bold tracking-wider uppercase text-sm mb-4">{badge}</h2>}
|
||||
{title && (
|
||||
<h3 className="font-heading text-4xl md:text-5xl font-extrabold text-white mb-6">
|
||||
<h3 className="font-heading text-3xl md:text-5xl font-extrabold text-neutral-dark mb-6">
|
||||
{title}
|
||||
</h3>
|
||||
)}
|
||||
<div className="w-20 h-1 bg-primary mx-auto mb-8 shadow-[0_0_15px_rgba(17,124,97,0.5)]"></div>
|
||||
<div className="w-20 h-2 bg-primary mx-auto mb-8"></div>
|
||||
|
||||
<div className="space-y-6 text-white/70 text-lg leading-relaxed">
|
||||
<div className="space-y-6 text-text-secondary text-lg leading-relaxed">
|
||||
{descriptionParagraphs?.map((p, i) => {
|
||||
// Quick parse for basic bolding
|
||||
const parts = p.split('**');
|
||||
if (parts.length > 1) {
|
||||
return (
|
||||
<p key={i}>
|
||||
{parts.map((part, j) => j % 2 === 1 ? <strong key={j} className="text-white font-bold">{part}</strong> : part)}
|
||||
{parts.map((part, j) => j % 2 === 1 ? <strong key={j} className="text-neutral-dark font-bold">{part}</strong> : part)}
|
||||
</p>
|
||||
);
|
||||
}
|
||||
@@ -126,7 +123,7 @@ export function ServiceDetailGrid({
|
||||
</div>
|
||||
|
||||
<motion.div
|
||||
className="grid grid-cols-1 md:grid-cols-2 gap-6"
|
||||
className="grid grid-cols-1 md:grid-cols-2 gap-8"
|
||||
variants={containerVariants}
|
||||
initial="hidden"
|
||||
whileInView="visible"
|
||||
@@ -139,28 +136,26 @@ export function ServiceDetailGrid({
|
||||
<motion.div
|
||||
key={panel.id}
|
||||
variants={itemVariants}
|
||||
className={`group relative overflow-hidden bg-[#0f1d2b] border border-white/10 rounded-2xl p-8 md:p-12 transition-all duration-500 hover:border-primary/50 hover:bg-[#132333] hover:shadow-2xl select-none ${isFullWidth ? 'md:col-span-2' : ''}`}
|
||||
className={`group relative overflow-hidden bg-white border border-neutral-200 p-8 md:p-12 transition-all duration-500 hover:border-primary/50 hover:shadow-xl hover:-translate-y-1 select-none ${isFullWidth ? 'md:col-span-2' : ''}`}
|
||||
>
|
||||
<HoverShineOverlay shineColor="via-white/10" />
|
||||
|
||||
{/* Subtle primary glow behind the card on hover */}
|
||||
<div className="absolute inset-0 bg-primary/0 group-hover:bg-primary/5 transition-colors duration-500 z-0 pointer-events-none" />
|
||||
{/* On a white card, a very subtle primary/grey shine works best */}
|
||||
<HoverShineOverlay shineColor="via-primary/5" />
|
||||
|
||||
<div className="relative z-10 flex flex-col md:flex-row justify-between items-start mb-10 gap-6">
|
||||
<div>
|
||||
<h4 className="text-2xl font-extrabold text-white uppercase tracking-wider">{panel.title}</h4>
|
||||
<div className="h-1 w-12 bg-primary mt-6 transition-all duration-700 group-hover:w-full group-hover:shadow-[0_0_10px_rgba(17,124,97,0.8)]"></div>
|
||||
<h4 className="text-2xl font-extrabold text-neutral-dark uppercase tracking-wider">{panel.title}</h4>
|
||||
<div className="h-0.5 w-12 bg-primary mt-6 transition-all duration-700 group-hover:w-full"></div>
|
||||
</div>
|
||||
<div className={`text-primary shrink-0 transition-all duration-700 group-hover:scale-110 opacity-70 group-hover:opacity-100 ${isFullWidth ? 'w-32 h-16' : 'w-16 h-16'}`}>
|
||||
<div className={`text-primary shrink-0 transition-transform duration-700 group-hover:scale-110 opacity-90 group-hover:opacity-100 ${isFullWidth ? 'w-32 h-16' : 'w-16 h-16'}`}>
|
||||
{Icons[panel.icon]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={`relative z-10 grid gap-y-4 gap-x-12 ${isFullWidth ? 'md:grid-cols-2' : 'grid-cols-1'}`}>
|
||||
{panel.lists.map((list, listIdx) => (
|
||||
<ul key={listIdx} className="space-y-0 text-white/70">
|
||||
<ul key={listIdx} className="space-y-0 text-text-secondary">
|
||||
{list.map((item, itemIdx) => (
|
||||
<li key={itemIdx} className="flex items-start border-b border-white/5 py-4 last:border-b-0">
|
||||
<li key={itemIdx} className="flex items-start border-b border-neutral-100 py-4 last:border-b-0">
|
||||
<span className="text-primary mr-4 text-[10px] mt-2 opacity-80 group-hover:animate-pulse">■</span>
|
||||
<span className="leading-snug">{item}</span>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user