.duckit-filter-search{
        width:100%;
        box-sizing:border-box;
        padding:8px 10px;
        border-radius:10px;
        border:1px solid rgba(255,255,255,.12);
        background: rgba(0,0,0,.15);
        outline:none;
        margin: 0 0 10px 0;
      }
      .duckit-filter-tree-body{
        display:flex;
        flex-direction:column;
        gap:10px;
      }
      .duckit-filter-node{
        border:1px solid rgba(255,255,255,.10);
        border-radius:14px;
        overflow:hidden;
        background: rgba(0,0,0,.10);
      }
      .duckit-filter-summary{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        padding:10px 12px;
        cursor:pointer;
        user-select:none;
        background: rgba(0,0,0,.12);
      }
      .duckit-filter-summary:hover{
        background: rgba(0,0,0,.18);
      }
      .duckit-filter-summary .left{
        display:flex;
        align-items:center;
        gap:10px;
        min-width:0;
      }
      .duckit-filter-summary .title{
        font-weight:600;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
      }
      .duckit-filter-summary .meta{
        opacity:.75;
        font-size:12px;
        white-space:nowrap;
      }
      .duckit-filter-body{
        padding:10px 12px 12px 12px;
      }

      /* Icon groups */
      .duckit-filter-icongroup{
        border:1px solid rgba(255,255,255,.08);
        border-radius:12px;
        overflow:hidden;
        background: rgba(255,255,255,.03);
        margin-bottom:10px;
      }
      .duckit-filter-icongroup-summary{
        padding:8px 10px;
        cursor:pointer;
        user-select:none;
        background: rgba(0,0,0,.10);
      }
      .duckit-filter-icongroup-summary:hover{
        background: rgba(0,0,0,.16);
      }
      .icongroup-head{
        display:flex;
        align-items:center;
        gap:10px;
      }
      .duckit-filter-icongroup-icon{
        width:24px;
        height:24px;
        flex:0 0 26px;
        object-fit:contain;
        border-radius:6px;
        background: rgba(0,0,0,.18);
        border:1px solid rgba(255,255,255,.10);
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:12px;
        line-height:1;
      }
      .duckit-filter-icongroup-icon--none{
        color: rgba(255,255,255,.70);
      }
      .duckit-filter-icongroup-title{
        font-size:12px;
        opacity:.85;
      }

      /* Sub list */
      .duckit-filter-sublist{
        list-style:none;
        margin:0;
        padding:6px 6px 8px 6px;
        display:flex;
        flex-direction:column;
        gap:2px;
      }
      .duckit-filter-subitem{
        padding:0;
        margin:0;
        border-radius:10px;
      }
      .duckit-filter-subitem:hover{
        background: rgba(255,255,255,.05);
      }

      /* ✅ Alignment fix: put everything in a single flex label */
      .duckit-filter-sub{
        display:flex;
        align-items:center;
        gap:8px;
        width:100%;
        padding:6px 8px;
        box-sizing:border-box;
        cursor:pointer;
        min-height:30px;
      }
      .sub-cb{
        margin:0;
        width:16px;
        height:16px;
        flex:0 0 16px;
      }
      .sub-icon{
        width:20px;
        height:20px;
        flex:0 0 22px;
        object-fit:contain;
        border-radius:5px;
        border:1px solid rgba(255,255,255,.10);
        background: rgba(0,0,0,.14);
        display:block; /* avoids baseline alignment shifts */
      }
      .sub-label{
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:13px;
        line-height:1.25;
      }



    .leaflet-marker-pane .duckit-marker-icon, .leaflet-marker-pane .duckit-marker-icon img,
    .leaflet-pane .duckit-marker-icon, .leaflet-pane .duckit-marker-icon img {
      pointer-events: auto !important; cursor: pointer !important;
    }
    .duckit-filter-tree { display:flex; flex-direction:column; gap:6px; }
    .duckit-filter-node { border:1px solid rgba(255,255,255,0.08); border-radius:8px; padding:6px 8px; }
    .duckit-filter-node summary { cursor:pointer; user-select:none; list-style:none; display:flex; align-items:center; gap:8px; }
    .duckit-filter-node summary::-webkit-details-marker { display:none; }
    .duckit-filter-node .node-head { display:flex; align-items:center; gap:8px; width:100%; }
    .duckit-filter-node .node-title { font-weight:600; }
    .duckit-filter-node .node-swatch { width:18px; height:18px; border-radius:4px; border:1px solid rgba(255,255,255,0.10);
      background-size:contain; background-repeat:no-repeat; background-position:center; flex: 0 0 auto; display: inline-flex; }
    .duckit-filter-variants { margin-top:6px; padding-left:22px; display:flex; flex-direction:column; gap:4px; }
    .duckit-filter-variant { display:flex; align-items:center; gap:8px; }
    .duckit-filter-variant img { width:18px; height:18px; object-fit:contain; }
    .duckit-copy-filter-btn { margin-left: 6px; }
