src/components/icon/IconGradient.astro
---
/**
* IconGradient
* Iconen met verloopachtergrond vierkanten
*/
interface GradientItem {
icon: string;
title: string;
desc: string;
}
interface Props {
items?: GradientItem[];
}
const { items = [
{ icon: '🚀', title: 'Snelle lancering', desc: 'Van briefing tot live in twee weken.' },
{ icon: '🎯', title: 'Scherpe focus', desc: 'Alleen acties die bijdragen aan jouw doel.' },
{ icon: '📈', title: 'Aantoonbare groei', desc: 'Elke euro advertising spend bijgehouden.' },
{ icon: '🤝', title: 'Echte samenwerking', desc: 'Jij kent jouw markt, wij kennen marketing.' },
] } = Astro.props;
---
<div class="igrad-grid">
{items.map((item, i) => (
<div class={`igrad-card igrad-card--${i % 4}`}>
<div class="igrad-icon-box">
<span class="igrad-icon">{item.icon}</span>
</div>
<h3 class="igrad-title">{item.title}</h3>
<p class="igrad-desc">{item.desc}</p>
</div>
))}
</div>
<style>
.igrad-grid {
--color-accent: #6366f1;
--color-primary: #0a0a0a;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 20px;
padding: 32px;
font-family: system-ui, sans-serif;
}
.igrad-card {
padding: 28px;
border-radius: 16px;
display: flex;
flex-direction: column;
gap: 12px;
}
.igrad-card--0 { background: linear-gradient(135deg, #667eea20, #764ba220); border: 1px solid #6366f130; }
.igrad-card--1 { background: linear-gradient(135deg, #f09b2820, #f72d7220); border: 1px solid #ec489930; }
.igrad-card--2 { background: linear-gradient(135deg, #11998e20, #38ef7d20); border: 1px solid #10b98130; }
.igrad-card--3 { background: linear-gradient(135deg, #4facfe20, #00f2fe20); border: 1px solid #3b82f630; }
.igrad-icon-box {
width: 52px;
height: 52px;
border-radius: 12px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.igrad-icon { font-size: 1.5rem; }
.igrad-title {
margin: 0;
font-size: 1rem;
font-weight: 700;
color: var(--color-primary);
}
.igrad-desc {
margin: 0;
font-size: 0.875rem;
line-height: 1.6;
color: #374151;
}
</style>