src/components/icon/IconHighlight.astro
---
/**
* IconHighlight
* Gemarkeerde icoon-sectie met accentrand
*/
interface HighlightItem {
icon: string;
label: string;
}
interface Props {
headline?: string;
sub?: string;
items?: HighlightItem[];
}
const { headline = 'Alles wat je nodig hebt', sub = 'Een volledig marketingteam zonder de overhead van een intern team.', items = [
{ icon: '✅', label: 'Strategie & planning' },
{ icon: '✅', label: 'SEO & content' },
{ icon: '✅', label: 'Betaalde advertenties' },
{ icon: '✅', label: 'Social media management' },
{ icon: '✅', label: 'E-mail marketing' },
{ icon: '✅', label: 'Analytics & rapportage' },
] } = Astro.props;
---
<div class="ihl-wrap">
<div class="ihl-head">
{headline && <h2 class="ihl-headline">{headline}</h2>}
{sub && <p class="ihl-sub">{sub}</p>}
</div>
<ul class="ihl-list">
{items.map(item => (
<li class="ihl-item">
<span class="ihl-icon">{item.icon}</span>
<span class="ihl-label">{item.label}</span>
</li>
))}
</ul>
</div>
<style>
.ihl-wrap {
--color-accent: #6366f1;
--color-primary: #0a0a0a;
border-left: 4px solid var(--color-accent);
background: #f5f3ff;
border-radius: 0 12px 12px 0;
padding: 32px 36px;
font-family: system-ui, sans-serif;
max-width: 640px;
}
.ihl-head { margin-bottom: 24px; }
.ihl-headline {
margin: 0 0 8px;
font-size: 1.4rem;
font-weight: 800;
color: var(--color-primary);
}
.ihl-sub {
margin: 0;
font-size: 0.95rem;
color: #374151;
line-height: 1.6;
}
.ihl-list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px 24px;
}
@media (max-width: 400px) {
.ihl-list { grid-template-columns: 1fr; }
}
.ihl-item {
display: flex;
align-items: center;
gap: 10px;
}
.ihl-icon { font-size: 1rem; flex-shrink: 0; }
.ihl-label {
font-size: 0.9rem;
font-weight: 600;
color: #1f2937;
}
</style>