:root{--bg:#f0f2f5;--panel:#ffffff;--text:#111827;--muted:#4b5563;--accent:#c81e1e;--accent-dark:#991b1b;--accent-light:#fef2f2;--accent-mid:#fee2e2;--border:#e5e7eb;--shadow:0 2px 8px rgba(0,0,0,0.07);--shadow-md:0 4px 16px rgba(0,0,0,0.11);--green:#065f46;--green-bg:#d1fae5;--blue:#1e40af;--blue-bg:#dbeafe;--amber:#92400e;--amber-bg:#fef3c7}*{box-sizing:border-box}body{margin:0;font-family:'Source Sans 3','Segoe UI',system-ui,sans-serif;color:var(--text);background:linear-gradient(160deg,#e8eaf0 0%,#f0f2f5 40%,#f5f0f0 100%);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}

/* ── Header ── */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,0.07)}.site-header-inner{max-width:1120px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-wrap{display:inline-flex;align-items:center;gap:10px}.brand-logo{height:38px;width:auto;display:block;border-radius:6px}.brand-name{font-size:22px;font-weight:800;letter-spacing:-0.3px;color:var(--text)}.top-nav{display:flex;gap:4px;flex-wrap:wrap}.top-nav-link{padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600;color:#4b5563;transition:background .15s,color .15s}.top-nav-link:hover{background:#f3f4f6;color:#111827}.top-nav-link.active{background:var(--accent-light);color:var(--accent);font-weight:700}

/* ── Layout ── */
.container{max-width:1120px;margin:0 auto;padding:0 20px}.page-spacing{padding-top:28px;padding-bottom:40px}

/* ── Cards ── */
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:var(--shadow)}h1,h2,h3{margin-top:0}h1{font-size:32px;font-weight:800;letter-spacing:-0.5px}h2{font-size:22px;font-weight:700}h3{font-size:17px;font-weight:700}p{color:var(--muted);margin:0 0 12px}p:last-child{margin-bottom:0}

/* ── Buttons ── */
button{cursor:pointer;border:none;border-radius:10px;padding:11px 20px;font-size:15px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(200,30,30,0.3)}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(200,30,30,0.35)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid var(--border)}.btn-secondary:hover{background:#e5e7eb}

/* ── Home page ── */
.home-page .home-hero{background:linear-gradient(135deg,#fff 0%,var(--accent-mid) 100%);border-left:4px solid var(--accent);position:relative;overflow:hidden}.home-page .home-hero::after{content:'';position:absolute;right:0;top:0;bottom:0;width:45%;background:url('/foto-thuis.jpeg') center/cover no-repeat;opacity:.22;border-radius:0 14px 14px 0;pointer-events:none}.home-hero-bg{display:none}.home-hero-left{position:relative;z-index:1}.hero-slogan{font-size:clamp(48px,8vw,88px);line-height:.95;letter-spacing:-1px;margin:8px 0 16px;color:var(--accent);font-weight:900}.eyebrow{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px}.home-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.home-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-grid-2 article{padding:4px 0;border-radius:12px}.home-grid-2 article:first-child{background:var(--green-bg);border:1px solid #a7f3d0;padding:16px;border-radius:12px}.home-grid-2 article:last-child{background:var(--blue-bg);border:1px solid #93c5fd;padding:16px;border-radius:12px}

/* ── FAQ ── */
.faq-list{display:grid;gap:10px}.faq-item{border:1px solid var(--border);border-radius:12px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;background:#fff}.faq-item:hover{border-color:#fca5a5;box-shadow:0 2px 8px rgba(200,30,30,0.08)}.faq-item h3{font-size:16px;margin-bottom:6px;color:var(--text)}

/* ── Quiz ── */
.quiz-wrap{max-width:860px;margin:0 auto}.quiz-wrap.compact .quiz-title{font-size:34px;line-height:1.1;margin-bottom:8px}.quiz-subtitle{margin:0 0 14px;font-size:18px;color:var(--muted)}.quiz-card{padding:24px}.quiz-question{font-size:26px;line-height:1.2;margin-bottom:6px;font-weight:700;color:var(--text)}.quiz-help{margin-bottom:20px;font-size:16px;color:var(--muted)}.quiz-options{display:grid;gap:10px;margin-bottom:16px}.quiz-option{width:100%;text-align:left;border-radius:12px;padding:14px 18px;border:2px solid #d1d5db;background:#fafafa;color:var(--text);font-size:18px;font-weight:600;transition:all .15s ease}.quiz-option:hover{background:#f3f4f6;border-color:#9ca3af}.quiz-option.active{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(200,30,30,0.12)}.quiz-custom-box{margin:0 0 18px;display:grid;gap:8px}.quiz-custom-box label{font-size:16px;font-weight:700;color:var(--text)}.quiz-number-input{width:200px;border-radius:10px;border:2px solid #d1d5db;padding:10px 14px;font-size:18px;outline:none;transition:border-color .15s;font-family:inherit}.quiz-number-input:focus{border-color:var(--accent)}.quiz-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

/* ── Result page ── */
.result-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.sticky-summary{position:sticky;top:80px}.muted-note{margin-top:-4px;font-weight:600;color:#6b7280;font-size:14px}.why-box{border:1px solid #fca5a5;border-radius:12px;padding:16px;background:var(--accent-light);margin-top:16px}.why-box ul{margin:0;padding-left:20px;display:grid;gap:6px}.item-row{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px;transition:border-color .15s}.item-row:hover{border-color:#fca5a5}.item-main{gap:12px}.item-actions,.item-main{display:flex;align-items:center}.item-actions{gap:8px;margin-top:10px}

/* ── Product image placeholder with category icons ── */
.image-placeholder{width:56px;height:56px;border-radius:10px;background:var(--accent-mid);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1}.image-placeholder.large{width:100%;min-height:200px;border-radius:12px;font-size:56px}.image-placeholder[data-cat="lighting"]::after{content:"🔦"}.image-placeholder[data-cat="power"]::after{content:"🔋"}.image-placeholder[data-cat="communication"]::after{content:"📻"}.image-placeholder[data-cat="first_aid"]::after{content:"🩺"}.image-placeholder[data-cat="warmth"]::after{content:"🧣"}.image-placeholder[data-cat="water_storage"]::after{content:"💧"}.image-placeholder[data-cat="tools"]::after{content:"🔧"}.image-placeholder[data-cat="hygiene"]::after{content:"🧴"}.image-placeholder[data-cat="cooking"]::after{content:"🍳"}.image-placeholder[data-cat="flood"]::after{content:"🌊"}.image-placeholder[data-cat="evacuation"]::after{content:"🎒"}.image-placeholder:not([data-cat])::after{content:"📦"}

/* ── Badges ── */
.badge-essential{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-size:12px;font-weight:700}.item-info-box{margin-top:10px;padding:12px;border-radius:10px;background:var(--accent-light);border:1px solid #fca5a5}

/* ── Shopping list ── */
.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:8px;background:#fff}.list-row:hover{border-color:#fca5a5}.list-row-right{display:flex;align-items:center;gap:8px}

/* ── Info dot with custom CSS tooltip ── */
.info-dot{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:800;cursor:help;position:relative;flex-shrink:0;border:2px solid var(--accent-dark);font-style:italic}.info-dot:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 8px);right:0;background:#1f2937;color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:400;font-style:normal;width:260px;z-index:200;line-height:1.5;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,0.25);white-space:normal}.info-dot:hover::before{content:'';position:absolute;bottom:calc(100% + 2px);right:8px;border:6px solid transparent;border-top-color:#1f2937;z-index:201}

/* ── Over Ons photos ── */
.over-ons-intro-card{display:flex;gap:24px;align-items:flex-start}.over-ons-mission-card{display:flex;gap:24px;align-items:flex-start}.over-ons-photo{width:240px;height:200px;object-fit:cover;border-radius:12px;flex-shrink:0;border:3px solid var(--accent-mid)}.over-ons-why-card{background:linear-gradient(135deg,var(--blue-bg) 0%,#fff 100%);border-left:4px solid var(--blue)}.over-ons-slogan-card{background:linear-gradient(135deg,var(--accent-mid) 0%,#fff 100%);border-left:4px solid var(--accent)}.over-ons-slogan{font-size:26px;font-weight:800;color:var(--accent);text-align:center;margin:8px 0;letter-spacing:-0.3px}

/* ── Category color badges on product rows ── */
.cat-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-left:6px}

/* ── Responsive ── */
@media (max-width:980px){.result-layout{grid-template-columns:1fr}.sticky-summary{position:static}}@media (max-width:900px){.home-grid-2{grid-template-columns:1fr}.over-ons-intro-card,.over-ons-mission-card{flex-direction:column}.over-ons-photo{width:100%;height:220px}.hero-slogan{font-size:clamp(38px,10vw,64px)}.brand-name{font-size:18px}.quiz-wrap.compact .quiz-title{font-size:26px}.quiz-subtitle{font-size:16px}.quiz-question{font-size:22px}.quiz-option{font-size:16px}.site-header-inner{padding:0 12px;height:56px}.top-nav-link{padding:5px 8px;font-size:13px}.card{padding:18px;border-radius:12px}}
