/* Slider Styles */
    .custom-slider-wrapper { position: relative; width: 100%; padding: 10px 0; }
    .custom-slider-values { position: relative; height: 5px; background: #ddd; border-radius: 5px; margin-bottom: 20px; }
    .custom-slider-range { position: absolute; height: 100%; top: 0; background: var(--custom-primary); border-radius: 5px; left: 0; width: 100%; }
    .custom-range-input {
        position: absolute; width: 100%; height: 5px; top: -5px; background: none; pointer-events: none;
        -webkit-appearance: none; -moz-appearance: none;
    }
    .custom-range-input::-webkit-slider-thumb {
        height: 18px; width: 18px; border-radius: 50%; border: 2px solid white; background: var(--custom-primary); 
        pointer-events: auto; -webkit-appearance: none; box-shadow: 0 1px 3px rgba(0,0,0,0.3); margin-top: 5px; cursor: pointer;
    }
    .custom-range-input::-moz-range-thumb {
        height: 18px; width: 18px; border-radius: 50%; border: 2px solid white; background: var(--custom-primary); 
        pointer-events: auto; -moz-appearance: none; box-shadow: 0 1px 3px rgba(0,0,0,0.3); cursor: pointer;
    }
    /* Attribute Links (Hidden Checkbox + Dot) */
    .custom-hidden-cb { display: none; }
    .custom-check-link {
        display: block; 
        padding: 5px 0 5px 15px; /* Indent for dot */
        position: relative;
        transition: color 0.2s;
        font-size: 14px;
        color: #444;
    }
    .custom-check-link:hover { color: var(--custom-primary); }
    
    /* Item Text Wrapper */
    .custom-link-text { display: inline-block; vertical-align: middle; }

    /* Active State (Checked) */
    .custom-check-link:has(.custom-hidden-cb:checked),
    .custom-check-link input:checked ~ .custom-link-text {
        font-weight: 700;
        color: #111;
    }

    /* Dot Indicator */
    .custom-check-link:has(.custom-hidden-cb:checked)::before,
    .custom-hidden-cb:checked + .custom-link-text::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 6px; 
        height: 6px; 
        background: var(--custom-primary); 
        border-radius: 50%;
    }