/* Keuzehulp [foodbox_keuzehulp] (inc/keuzehulp.php). Overgenomen uit Code Snippet 10, nu per klasse in plaats van per id. */
            .fbx-widget{
                --primary:#7aa63f;
                --primary-dark:#5d8129;
                --text:#1f2937;
                --muted:#6b7280;
                --line:#e5e7eb;
                --soft:#f8fafc;
                --bg:#fff;
                font-family:inherit;
                color:var(--text);
                background:var(--bg);
                border:1px solid var(--line);
                border-radius:20px;
                box-shadow:0 12px 28px rgba(15,23,42,.06);
                padding:18px;
                margin:24px 0;
            }
            .fbx-widget *{box-sizing:border-box}
            .fbx-widget .fbx-topbar{
                display:flex;
                justify-content:space-between;
                align-items:flex-start;
                gap:16px;
                margin-bottom:16px;
            }
            .fbx-widget .fbx-head h2{
                margin:0 0 6px;
                font-size:28px;
                line-height:1.1;
                color:#111827;
            }
            .fbx-widget .fbx-head p{
                margin:0;
                max-width:760px;
                font-size:14px;
                line-height:1.5;
                color:var(--muted);
            }
            .fbx-widget .fbx-chip{
                padding:10px 12px;
                border-radius:999px;
                background:#fef3c7;
                color:#92400e;
                font-size:12px;
                font-weight:700;
                white-space:nowrap;
            }
            .fbx-widget .fbx-layout{
                display:grid;
                grid-template-columns:1.05fr .95fr;
                gap:16px;
                align-items:start;
            }
            .fbx-widget .fbx-panel,
            .fbx-widget .fbx-results{
                background:var(--soft);
                border:1px solid var(--line);
                border-radius:18px;
                padding:14px;
            }
            .fbx-widget .fbx-questions{
                display:grid;
                grid-template-columns:repeat(2,minmax(0,1fr));
                gap:12px;
            }
            .fbx-widget fieldset{margin:0;padding:0;border:0;min-width:0}
            .fbx-widget legend{
                margin-bottom:8px;
                font-size:14px;
                font-weight:800;
                color:#111827;
            }
            .fbx-widget .fbx-options{
                display:grid;
                grid-template-columns:repeat(2,minmax(0,1fr));
                gap:8px;
            }
            .fbx-widget .fbx-options-3{
                grid-template-columns:repeat(3,minmax(0,1fr));
            }
            .fbx-widget .fbx-option{
                display:flex;
                align-items:center;
                justify-content:center;
                min-height:42px;
                padding:10px 12px;
                border:1px solid #d1d5db;
                border-radius:999px;
                background:#fff;
                font-size:13px;
                line-height:1.25;
                text-align:center;
                cursor:pointer;
                transition:.18s ease;
            }
            .fbx-widget .fbx-option:hover{
                border-color:#9ca3af;
                transform:translateY(-1px);
            }
            .fbx-widget .fbx-option.is-selected{
                background:#eef7e5;
                border-color:var(--primary);
                color:#1f3b08;
                box-shadow:inset 0 0 0 1px var(--primary);
            }
            .fbx-widget .fbx-option input{
                position:absolute;
                opacity:0;
                pointer-events:none;
            }
            .fbx-widget .fbx-actions{
                display:flex;
                gap:10px;
                flex-wrap:wrap;
                margin-top:14px;
            }
            .fbx-widget .fbx-btn{
                appearance:none;
                border:0;
                border-radius:999px;
                padding:12px 16px;
                font-size:14px;
                font-weight:800;
                cursor:pointer;
                transition:.18s ease;
            }
            .fbx-widget .fbx-btn-primary{
                background:var(--primary);
                color:#fff;
            }
            .fbx-widget .fbx-btn-primary:hover{
                background:var(--primary-dark);
                transform:translateY(-1px);
            }
            .fbx-widget .fbx-btn-secondary{
                background:#e5e7eb;
                color:#111827;
            }
            .fbx-widget .fbx-error{
                display:none;
                margin-top:12px;
                font-size:13px;
                font-weight:700;
                color:#b91c1c;
            }
            .fbx-widget .fbx-results{
                display:grid;
                gap:12px;
                min-height:100%;
            }
            .fbx-widget .fbx-placeholder{
                align-self:center;
                font-size:14px;
                line-height:1.55;
                color:var(--muted);
            }
            .fbx-widget .fbx-result-top{
                display:none;
                padding:16px;
                border:1px solid #dce8cf;
                border-radius:18px;
                background:linear-gradient(135deg,#fff 0%,#f0f7e8 100%);
            }
            .fbx-widget .fbx-result-top.is-visible{display:block}
            .fbx-widget .fbx-kicker{
                display:inline-block;
                margin-bottom:10px;
                padding:5px 9px;
                border-radius:999px;
                background:#ecfccb;
                color:#365314;
                font-size:11px;
                font-weight:800;
                text-transform:uppercase;
                letter-spacing:.03em;
            }
            .fbx-widget .fbx-brandline,
            .fbx-widget .fbx-alt-head{
                display:flex;
                align-items:center;
                gap:12px;
            }
            .fbx-widget .fbx-brandline{margin-bottom:10px}
            .fbx-widget .fbx-logo{
                width:52px;
                height:52px;
                flex:0 0 52px;
                overflow:hidden;
                display:inline-flex;
                align-items:center;
                justify-content:center;
                border:1px solid #d1d5db;
                border-radius:14px;
                background:#fff;
            }
            .fbx-widget .fbx-alt .fbx-logo{
                width:38px;
                height:38px;
                flex-basis:38px;
                border-radius:12px;
            }
            .fbx-widget .fbx-logo img{
                width:100%;
                height:100%;
                object-fit:contain;
                display:block;
                background:#fff;
            }
            .fbx-widget .fbx-logo-fallback{
                font-size:16px;
                font-weight:800;
                color:#111827;
            }
            .fbx-widget .fbx-result-top h3{
                margin:0;
                font-size:24px;
                line-height:1.1;
                color:#111827;
            }
            .fbx-widget .fbx-subtitle{
                margin-top:4px;
                font-size:14px;
                font-weight:700;
                color:var(--primary-dark);
            }
            .fbx-widget .fbx-result-top p{
                margin:0 0 10px;
                font-size:14px;
                line-height:1.55;
                color:#4b5563;
            }
            .fbx-widget .fbx-points{
                margin:0 0 14px;
                padding-left:18px;
                font-size:14px;
                color:#1f2937;
            }
            .fbx-widget .fbx-points li{
                margin-bottom:5px;
                line-height:1.45;
            }
            .fbx-widget .fbx-links,
            .fbx-widget .fbx-mini-links{
                display:flex;
                gap:8px;
                flex-wrap:wrap;
            }
            .fbx-widget .fbx-links a,
            .fbx-widget .fbx-mini-links a{
                text-decoration:none;
                font-weight:800;
                border-radius:999px;
            }
            .fbx-widget .fbx-links a{
                padding:10px 12px;
                font-size:13px;
            }
            .fbx-widget .fbx-go{
                background:var(--primary);
                color:#fff;
            }
            .fbx-widget .fbx-review{
                padding:10px 12px;
                background:#fff;
                color:#111827;
                border:1px solid #d1d5db;
            }
            .fbx-widget .fbx-alt-wrap{
                display:none;
                grid-template-columns:repeat(2,minmax(0,1fr));
                gap:10px;
            }
            .fbx-widget .fbx-alt-wrap.is-visible{display:grid}
            .fbx-widget .fbx-alt{
                padding:12px;
                border:1px solid var(--line);
                border-radius:16px;
                background:#fff;
            }
            .fbx-widget .fbx-alt strong{
                display:block;
                font-size:15px;
                line-height:1.2;
                color:#111827;
            }
            .fbx-widget .fbx-alt span{
                display:block;
                margin-top:2px;
                font-size:12px;
                line-height:1.35;
                color:var(--muted);
            }
            .fbx-widget .fbx-mini-links{margin-top:10px}
            .fbx-widget .fbx-mini-links a{
                padding:8px 10px;
                font-size:12px;
                background:#f3f4f6;
                color:#111827;
            }
            @media (max-width:980px){
                .fbx-widget .fbx-layout{grid-template-columns:1fr}
            }
            @media (max-width:760px){
                .fbx-widget{
                    padding:14px;
                    border-radius:16px;
                }
                .fbx-widget .fbx-topbar{
                    flex-direction:column;
                    align-items:stretch;
                }
                .fbx-widget .fbx-chip{
                    width:100%;
                    white-space:normal;
                    text-align:center;
                }
                .fbx-widget .fbx-head h2{font-size:24px}
                .fbx-widget .fbx-questions,
                .fbx-widget .fbx-alt-wrap{
                    grid-template-columns:1fr;
                }
                .fbx-widget .fbx-options,
                .fbx-widget .fbx-options-3{
                    grid-template-columns:repeat(2,minmax(0,1fr));
                }
                .fbx-widget .fbx-actions{
                    position:sticky;
                    bottom:0;
                    padding-top:10px;
                    margin-top:12px;
                    background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.97) 28%,rgba(255,255,255,1) 100%);
                }
                .fbx-widget .fbx-btn{
                    flex:1 1 0;
                    min-height:44px;
                }
                .fbx-widget .fbx-result-top h3{font-size:22px}
            }
        
            .fbx-widget .fbx-uitleg,
            .fbx-widget .fbx-caveat{
                margin:14px 0 0;
                padding:12px 14px;
                border-radius:12px;
                background:var(--soft);
            }
            .fbx-widget .fbx-caveat{
                background:#fff8ec;
            }
            .fbx-widget .fbx-uitleg strong,
            .fbx-widget .fbx-caveat strong{
                display:block;
                margin-bottom:6px;
                font-size:14px;
                color:var(--text);
            }
            .fbx-widget .fbx-caveat p{
                margin:0;
                font-size:14px;
                line-height:1.5;
                color:var(--muted);
            }
            .fbx-widget .fbx-uitleg .fbx-points{
                margin:0;
            }

.fbx-widget .fbx-type{
    display:inline-block;
    margin-top:6px;
    padding:3px 8px;
    border-radius:6px;
    background:#eef2f7;
    color:#374151;
    font-size:12px;
    font-weight:700;
}
.fbx-widget .fbx-alt .fbx-type{margin-top:4px;font-size:11px}
.fbx-widget .fbx-logo--cover img{object-fit:cover}
.fbx-widget .fbx-note{
    margin:0;
    font-size:12.5px;
    line-height:1.5;
    color:var(--muted);
}
.fbx-widget .fbx-caveat p + p{margin-top:6px}

/* Binnen een witte kaart (/maaltijdboxen/) geen tweede kader en geen marge. */
.fb-kaart .fbx-widget {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
@media (max-width:760px){
    .fb-kaart .fbx-widget { padding: 0; border-radius: 0; }
    .fb-kaart .fbx-widget .fbx-panel,
    .fb-kaart .fbx-widget .fbx-results { padding: 12px 10px; }
}
