
        body {
            margin: 0;
            background: #fff;
            color: #333;
        } 

        .plow-filters {
            padding: 50px 0px;
        }

        /* Header */
        .filter-header {
            background: #5f7fae;
            color: #fff;
            padding: 20px;
            text-align: center;
            font-size: 26px;
            font-weight: 600;
            letter-spacing: 1px;
        }

        .filter-description {
            text-align: center;
            margin: 25px auto 40px !important;
            max-width: 900px;
            color: #555;
            font-size: 15px;
        }

        /* Layout */
        .filter-container {
            display: grid;
            grid-template-columns: 220px 1fr 280px;
            gap: 20px;
            max-width: 1200px;
            margin: auto;
            padding: 0 20px 20px;
            max-height: 570px;
            height: 570px;
            overflow: hidden;
        }

        /* Stepper */
        .filter-steps {
            position: relative;
            max-height: 540px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        

        .filter-steps::before {
            content: '';
            position: absolute;
            left: 16px;
            top: 0;
            bottom: 0;
            width: 2px;
            background: #ddd;
        }


        .filter-steps::after {
            content: '';
            position: absolute;
            left: 16px;
            top: 0;
            bottom: 0;
            width: 2px;
            height: 0%;
            background: #c62828;
            transition: all ease 1s;
        }

        .filter-steps.active-1::after {
            height: 33%;
        }

        .filter-steps.active-2::after {
            height: 66%;
        }

        .filter-steps.active-3::after {
            height: 100%;
        }

        .filter-step {
            display: flex;
            align-items: center;
            /* margin-bottom: 40px; */
            position: relative;
        }

        .filter-step span {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            border: 2px solid #bbb;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            font-weight: 600;
            z-index: 2;
        }
        

        .filter-step.active-step span {
            background: #c62828;
            color: #fff;
            border-color: #c62828;
        }

        .filter-step p {
            margin-left: 15px;
            font-size: 15px;
            margin-bottom: 0px !important;
        }
        .filter-content.plows-result {
            padding: 0px;
        }
        .filter-content {
            display: none;
            padding: 20px;
            background: #e3e3e3;
            max-height: 550px;
            height: 100%;
        }
        /* Main form */
        .filter-content h2 {
            margin-bottom: 25px;
            font-size: 30px;
        }

        .filter-content.active-tab {
            display: block;
        }

        .filter-field {
            margin-bottom: 20px;
        }

        .filter-field label {
            display: block;
            margin-bottom: 6px;
            font-weight: 600;
            text-align: left;
        }

        .filter-field input {
            width: 200px;
            padding: 8px 10px;
            border: 1px solid #bbb;
            border-radius: 4px;
            font-size: 14px;
        }

        /* Summary */
        .filter-summary {
            border-left: 1px solid #ddd;
            padding-left: 25px;
            font-size: 14px;
        }

        .filter-summary h3 {
            margin-top: 0;
            margin-bottom: 5px;
        }

        .headlight-summary {
            display: none;
        }

        .filter-summary h3.headlight-summary-heading {
            margin-top: 20px;
        }

        .filter-summary ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .filter-summary li {
            display: flex;
            justify-content: space-between;
            margin-bottom: 5px;
        }

        .filter-summary strong {
            font-weight: 600;
        }

        .filter-divider {
            border-top: 1px solid #ddd;
            margin: 15px 0;
        }

        /* Buttons */
        .filter-actions {
            /* margin-top: 40px; */
            margin-left: 20px;
        }

        .filter-actions button {
            padding: 8px 18px;
            border-radius: 4px;
            border: 1px solid #777;
            background: #f5f5f5;
            cursor: pointer;
            margin-right: 10px;
            font-size: 14px;
        }

        .filter-actions button.primary {
            background: #555;
            color: #fff;
            border-color: #555;
        }

        .filter-actions button:hover {
            opacity: 0.9;
        }


        /* Wrapper (optional, but recommended) */
        .filter-field {
        position: relative;
        width: 230px;
        }

        /* Select field */
        .filter-field select {
        appearance: none;          /* Remove default arrow */
        width: 100%;
        padding: 10px 40px 10px 12px;
        font-size: 14px;
        font-family: inherit;
        border: 1px solid #ccc;
        border-radius: 6px;
        background-color: #fff;
        color: #333;
        cursor: pointer;
        transition: border-color 0.2s, box-shadow 0.2s;
        height: unset;
        }

        /* Hover */
        .filter-field select:hover {
        border-color: #999;
        }

        /* Focus */
        .filter-field select:focus {
        outline: none;
        border-color: #4f46e5;
        box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
        }

        /* Disabled */
        .filter-field select:disabled {
        background-color: #f5f5f5;
        color: #999;
        cursor: not-allowed;
        }

        .filter-radio-field .radio-pill {
            position: relative;
            cursor: pointer;
            display: inline-block;
            margin-right: 10px;
        }

        .filter-radio-field .radio-pill input {
            display: none;
        }

        .filter-radio-field .radio-pill span {
            display: inline-block;
            padding: 6px 14px;
            border-radius: 999px;
            border: 1px solid #ccc;
            font-size: 14px;
            color: #333;
            background-color: #fff;
            transition: all 0.2s ease;
            width: 100px;
            text-align: center;
        }


        /* Checked state */
        .filter-radio-field .radio-pill input:checked + span {
            border-color: #000;
            background-color: #f2f2f2;
            font-weight: 500;
        }

        /* Hover */
        .filter-radio-field .radio-pill span:hover {
            border-color: #888;
        }

        .filter-radio-field .field-label {
            display: block;
        }

        .filter-results {
            display: flex;
            flex-direction: column;
            gap: 20px;
            max-height: 500px;
            overflow-y: scroll;
            width: 100%;
        }
        
        .plow-card {
            display: flex;
            align-items: center;
            background: #e5e5e5;
            padding: 20px;
            gap: 20px;
            max-width: 900px;
        }

        /* Image Box */
        .plow-image {
            width: 140px;
            height: 120px;
            background: #fff;
            border: 2px solid #ccc;
            flex-shrink: 0;
        }

        /* Content */
        .plow-content {
            flex: 1;
        }

        .plow-title {
            margin: 0 0 10px;
            font-size: 22px;
        }

        .plow-meta p {
            margin: 4px 0;
            font-size: 14px;
        }

        /* Actions */
        .plow-actions {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .btn {
            display: inline-block;
            padding: 6px 12px;
            border: 1px solid #333;
            background: #f5f5f5;
            color: #000;
            text-decoration: none;
            font-size: 13px;
            text-align: center;
        }

        .plow-actions .btn:hover {
            background: #ddd;
        }


        /* Fullscreen overlay */
        .snowplow-loader-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.4);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
        }

        /* Spinner */
        .snowplow-spinner {
        width: 50px;
        height: 50px;
        border: 5px solid #ddd;
        border-top: 5px solid #3498db;
        border-radius: 50%;
        animation: spin 1s linear infinite;
        }

        /* Hidden state */
        .hidden {
        display: none;
        }

        @keyframes spin {
        to {
            transform: rotate(360deg);
        }
        }




        @media (max-width: 900px) {
            .filter-container {
                grid-template-columns: 1fr;
            }

            .filter-summary {
                border-left: none;
                padding-left: 0;
                border-top: 1px solid #ddd;
                padding-top: 20px;
            }

            .filter-steps::before {
                left: 0;
                top: 50%;
                bottom: 0;
                width: 100%;
                height: 2px;
            }

            .filter-steps::after {
                left: 0;
                top: 50%;
                bottom: 0;
                width: 0%;
                height: 2px !important;
            }

            .filter-steps.active-1::after {
                width: 33%;
            }

            .filter-steps.active-2::after {
                width: 66%;
            }

            .filter-steps.active-3::after {
                width: 100%;
            }

            .filter-steps {
                flex-direction: row;
            }

            .filter-step p {
                display: none;
            }

            .filter-summary {
                display: none;
            }
            .filter-actions {
                margin-top: 0px;
            }
        }


