    :root {
        --cnw-primary: #0a2540; /* Navy Blue matcher Simple Denmark */
        --cnw-accent: #c60c30; /* Dansk Rød til badges */
        --cnw-dark: #0f172a;
        --cnw-light: #f1f5f9;
        --cnw-white: #ffffff;
        --cnw-border: #e2e8f0;
        --cnw-text: #334155;
        --cnw-radius: 12px;
        --cnw-shadow: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03);
    }

    .cnw-wrapper {
        font-family: 'Inter', sans-serif;
        display: flex;
        gap: 30px;
        max-width: 1200px;
        margin: 0 auto;
        position: relative;
    }

    /* --- SIDEBAR FILTER --- */
    .cnw-sidebar {
        width: 280px;
        flex-shrink: 0;
        background: var(--cnw-white);
        padding: 25px;
        border-radius: var(--cnw-radius);
        border: 1px solid var(--cnw-border);
        height: fit-content;
        position: sticky;
        top: 20px;
    }

    .cnw-filter-group { margin-bottom: 25px; }
    .cnw-filter-group label { display: block; font-weight: 700; font-size: 14px; margin-bottom: 8px; color: var(--cnw-dark); }
    .cnw-value-display { float: right; color: var(--cnw-primary); font-weight: 600; }
    
    /* Range Sliders */
    .cnw-range {
        width: 100%;
        -webkit-appearance: none;
        height: 6px;
        background: #cbd5e1;
        border-radius: 3px;
        outline: none;
    }
    .cnw-range::-webkit-slider-thumb {
        -webkit-appearance: none;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: var(--cnw-primary);
        cursor: pointer;
        box-shadow: 0 0 0 3px rgba(10, 37, 64, 0.2);
    }

    .cnw-select {
        width: 100%;
        padding: 10px;
        border: 1px solid var(--cnw-border);
        border-radius: 8px;
        font-size: 14px;
        background: #fff;
    }

    /* Mobile only styles */
    .cnw-mobile-header { display: none; }
    .cnw-mobile-trigger { display: none; }
    .cnw-overlay { display: none; }

    /* --- RESULTS GRID --- */
    .cnw-results {
        flex-grow: 1;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 20px;
        align-content: start;
    }

    /* --- CARD DESIGN --- */
    .cnw-card {
        background: var(--cnw-white);
        border: 1px solid var(--cnw-border);
        border-radius: var(--cnw-radius);
        overflow: hidden;
        transition: transform 0.2s, box-shadow 0.2s;
        display: flex;
        flex-direction: column;
        position: relative;
    }

    .cnw-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    }

    .cnw-card.is-highlight { border: 2px solid var(--cnw-primary); }
    .cnw-badge {
        position: absolute;
        top: 12px;
        right: 12px;
        background: var(--cnw-accent);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        padding: 4px 8px;
        border-radius: 4px;
        text-transform: uppercase;
    }

    .cnw-card-header {
        padding: 20px;
        text-align: center;
        border-bottom: 1px solid var(--cnw-light);
        height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .cnw-card-header img { max-height: 45px; max-width: 140px; object-fit: contain; }

    .cnw-card-body { padding: 20px; flex-grow: 1; }
    
    .cnw-stat-row {
        display: flex;
        justify-content: space-between;
        margin-bottom: 12px;
        font-size: 14px;
    }
    .cnw-stat-label { color: #64748b; }
    .cnw-stat-val { font-weight: 700; color: var(--cnw-dark); }
    .cnw-stat-big { 
        text-align: center; 
        margin: 15px 0; 
        padding: 10px; 
        background: #f8fafc; 
        border: 1px solid var(--cnw-light);
        border-radius: 8px; 
        color: var(--cnw-primary);
    }
    .cnw-stat-big span { display: block; font-size: 12px; color: #64748b; font-weight: normal; }
    .cnw-stat-big strong { font-size: 22px; display: block; }

    .cnw-card-footer {
        padding: 20px;
        background: #f8fafc;
        border-top: 1px solid var(--cnw-light);
        text-align: center;
    }

    .cnw-btn {
        display: block;
        width: 100%;
        padding: 12px;
        background: var(--cnw-primary);
        color: white;
        text-decoration: none;
        font-weight: 700;
        border-radius: 8px;
        transition: opacity 0.2s;
    }
    .cnw-btn:hover { opacity: 0.9; color: white; }
    
    .cnw-legal {
        margin-top: 10px;
        font-size: 10px;
        color: #94a3b8;
        line-height: 1.4;
        max-height: 40px;
        overflow-y: auto;
    }

    .cnw-empty-state {
        grid-column: 1 / -1;
        text-align: center;
        padding: 40px;
        color: #64748b;
        display: none;
    }

    /* --- MOBILE RESPONSIVENESS --- */
    @media (max-width: 900px) {
        .cnw-wrapper { flex-direction: column; gap: 0; }
        
        .cnw-mobile-trigger {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: var(--cnw-dark);
            color: white;
            padding: 15px 20px;
            margin-bottom: 20px;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 600;
        }

        .cnw-sidebar {
            position: fixed;
            top: 0;
            left: 0;
            height: 100vh;
            width: 85%;
            max-width: 320px;
            z-index: 1000;
            background: white;
            box-shadow: 2px 0 10px rgba(0,0,0,0.2);
            transform: translateX(-100%);
            transition: transform 0.3s ease-in-out;
            border-radius: 0;
            border: none;
            overflow-y: auto;
        }
        
        .cnw-sidebar.is-open { transform: translateX(0); }

        .cnw-mobile-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 25px;
            padding-bottom: 15px;
            border-bottom: 1px solid #eee;
        }
        .cnw-close-btn { font-size: 24px; cursor: pointer; background:none; border:none; color: var(--cnw-dark); }

        .cnw-overlay {
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            background: rgba(0,0,0,0.5);
            z-index: 999;
            display: none;
        }
        .cnw-overlay.is-visible { display: block; }
    }
    
