/*
 * Archetype: retail-vibrant
 * Retail Vibrant — Vrolijke winkels en e-commerce met energieke, toegankelijke uitstraling.
 * Auto-generated door build-theme-archetype-css.php
 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Quicksand:wght@400;500;600&display=swap');

:root {
    --primary: #FF6B9D;
    --primary-dark: color-mix(in srgb, #FF6B9D 85%, black);
    --primary-light: color-mix(in srgb, #FF6B9D 15%, white);
    --secondary: #FFA502;
    --accent: #00D4FF;
    --bg: #FFFFFF;
    --bg-alt: color-mix(in srgb, #FFFFFF 94%, #1A1A1A);
    --text: #1A1A1A;
    --text-dim: #8B8B8B;
    --dim: #374151;
    --muted: #8B8B8B;
    --radius: 16px;
    --radius-sm: calc(16px * 0.5);
    --radius-lg: calc(16px * 1.5);
    --shadow: 0 4px 12px rgba(0,0,0,.08);
    --font-heading: 'Montserrat', system-ui, sans-serif;
    --font-body: 'Quicksand', system-ui, sans-serif;
}

body { background: var(--bg); color: var(--text); font-family: var(--font-body); }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); color: var(--text); }
a { color: var(--primary); }

.btn-primary { color: #fff !important; background: linear-gradient(135deg, #FF6B9D 0%, #FFA502 100%); border: 0; border-radius: 24px; box-shadow: 0 4px 16px rgba(255,107,157,.3); transition: transform .2s, box-shadow .2s; }
.btn-primary:hover { transform: scale(1.05); box-shadow: 0 8px 28px rgba(255,107,157,.4); }
.btn-secondary { background: var(--bg-alt); color: var(--text); border-radius: 24px; }
.card, .itw-card, section.widget { border-radius: 16px; box-shadow: var(--shadow); }
.hero-title, .itw-hero__title { color: var(--text); }
.hero-accent, .itw-hero__accent { color: var(--accent); }

/* === RETAIL: Energetic — bright pops, badges, animated hovers === */
.sec-badge { background: linear-gradient(135deg, #FF6B9D, #FFA502); color: #fff; border-radius: 20px; padding: 5px 14px; font-weight: 700; font-size: .75rem; display: inline-block; }
.hero-badge { background: var(--secondary); color: #fff; border-radius: 24px; font-weight: 700; animation: badgePulse 2s ease-in-out infinite; }
@keyframes badgePulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.04); } }
.hero-ov { background: linear-gradient(135deg, rgba(255,107,157,.3), rgba(0,212,255,.2)) !important; }
.nav { background: #fff; box-shadow: 0 2px 16px rgba(255,107,157,.15); }
.nav-cta { background: linear-gradient(135deg, #FF6B9D, #FFA502) !important; color: #fff !important; border-radius: 20px !important; }
.topbar { background: linear-gradient(90deg, #FF6B9D, #FFA502); color: #fff; }
.voordeel-card { border-radius: 16px; border: 2px solid transparent; background: #fff; transition: all .3s ease; }
.voordeel-card:hover { border-color: var(--primary); transform: translateY(-6px) rotate(-1deg); box-shadow: 0 12px 32px rgba(255,107,157,.2); }
.ms12-voordeel-icon { color: #fff; background: linear-gradient(135deg, #FF6B9D, #00D4FF); border-radius: 50%; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; }
.ms-price-card { border-radius: 20px; border: 2px solid #f0f0f0; transition: transform .3s, border-color .3s; }
.ms-price-card:hover { border-color: var(--primary); transform: translateY(-4px); }
.ms-price-card--featured { border-color: var(--secondary); background: linear-gradient(180deg, #fff8f0, #fff); }
.ms-price-badge { background: linear-gradient(135deg, #FF6B9D, #FFA502); color: #fff; border-radius: 12px; padding: 4px 12px; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.ms-problem-card { border-radius: 16px; }
.ms-problem-card--solution { border: 2px solid var(--accent); }
.ms12-rating-card { border-radius: 20px; background: linear-gradient(135deg, #FF6B9D, #FFA502); color: #fff; }
.ms12-rating-card .ms12-rating-title, .ms12-rating-card .ms12-rating-score, .ms12-rating-card .ms12-rating-meta { color: #fff; }
.ms12-lead-card { border-radius: 20px; border: 2px solid rgba(255,107,157,.15); }
.ms12-input, .ms12-textarea { border-radius: 12px !important; }
.footer { background: linear-gradient(135deg, #2d2d2d, #1a1a1a); }
.sec-alt { background: #fff5f8; }
.sec h2::after { content: ''; display: block; width: 50px; height: 4px; background: linear-gradient(90deg, #FF6B9D, #FFA502); border-radius: 2px; margin-top: 10px; }
.wave-divider svg path { fill: #fff5f8; }
