.cbrrf{margin:18px 0}
        .cbrrf-form{background:transparent;border:0;padding:0;box-shadow:none}
        .cbrrf-form__shell,
        .cbrrf-results{
            border:1px solid #cfd9e3;
            border-radius:18px;
            background:linear-gradient(180deg,#edf3f8 0%,#e4edf5 100%);
            box-shadow:0 10px 28px rgba(16,24,40,.05);
            overflow:hidden
        }
        .cbrrf-results{margin-top:16px;background:#fff}
        .cbrrf-form__controls{
            background:linear-gradient(180deg,#eef4f9 0%,#e5edf5 100%);
            border-bottom:1px solid #cfd9e3;
            padding:18px
        }
        .cbrrf-form__helpwrap{
            padding:14px 18px 18px;
            background:#fff
        }
        .cbrrf-topbar{display:flex;justify-content:flex-start;margin:0 0 14px}
        .cbrrf-grid{
            display:grid;
            grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(220px,1fr);
            gap:12px;
            align-items:end
        }
        .cbrrf-field{min-width:0}
        .cbrrf-field label{
            display:block;
            font-weight:700;
            font-size:15px;
            line-height:1.35;
            margin:0 0 8px;
            color:#16344a
        }
        .cbrrf-field input,
        .cbrrf-field select{
            width:100%;
            min-height:48px;
            border:1px solid #b8c8d8;
            border-radius:14px;
            padding:11px 14px;
            background:#fff;
            color:#243746;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.65)
        }
        .cbrrf-field input::placeholder{color:#7d8c99}
        .cbrrf-inputwrap{position:relative}
        .cbrrf-actions{
            display:flex;
            justify-content:center;
            gap:12px;
            flex-wrap:wrap;
            padding-top:14px
        }
        .cbrrf-btn,
        .cbrrf-geobtn{
            border:1px solid #b8c8d8;
            border-radius:14px;
            min-height:46px;
            padding:0 18px;
            cursor:pointer;
            font-weight:700;
            transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .02s ease
        }


.cbrrf-btn{
    min-width:280px;
    background:#1989eb;
    border-color:#1989eb;
    color:#fff;
    box-shadow:0 6px 16px rgba(25,137,235,.18)
}

.cbrrf-btn--alt,
.cbrrf-btn--alt.is-active{
    background:#ea7b18;
    border-color:#ea7b18;
    color:#fff;
    box-shadow:0 6px 16px rgba(234,123,24,.18)
}

.cbrrf-btn--alt:hover{
    background:#d96d0f;
    border-color:#d96d0f
}

.cbrrf-btn.is-active {
    outline:2px solid rgba(255,255,255,.65);
    outline-offset:1px;
}

.cbrrf-btn:not(.cbrrf-btn--alt):hover {
    background:#0f7fe3;
    border-color:#0f7fe3;
}
.cbrrf-btn,
.cbrrf-geobtn{
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.6px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

        .cbrrf-geobtn{
            background:#fff;
            color:#124c7c
        }
        .cbrrf-geobtn:hover{background:#f7fbff;border-color:#8fb5d8}
        .cbrrf-geobtn.is-loading{opacity:.7;pointer-events:none}
        .cbrrf-help{
            margin:0;
            color:#4f6577;
            font-size:15px;
            line-height:1.65
        }
        .cbrrf-notice{
            margin-top:14px;
            padding:12px 14px;
            border-radius:14px;
            background:#f7f7f7;
            border:1px solid #e5e7eb
        }
        .cbrrf-notice--error{background:#fff1f2;border-color:#fecdd3}
        .cbrrf-results__head{
            padding:18px 18px 12px;
            background:linear-gradient(180deg,#eef4f9 0%,#e8f0f7 100%);
            border-bottom:1px solid #d8e2eb
        }
        .cbrrf-results__head h3{margin:0 0 6px;color:#16344a}
        .cbrrf-results__head p{margin:0;color:#4f6577}
        .cbrrf-map{
            height:400px;
            border-radius:0;
            overflow:hidden;
            border:0;
            margin:0
        }
        .cbrrf-results .leaflet-container{border-radius:0 !important}
        .cbrrf-table-controls{
            display:flex;
            justify-content:flex-end;
            gap:10px;
            flex-wrap:wrap;
            padding:12px 18px 0
        }
        .cbrrf-reset-btn,
        .cbrrf-sortbtn{
            border:1px solid #c7d4e0;
            background:#fff;
            border-radius:12px;
            padding:9px 12px;
            font:inherit;
            line-height:1.2;
            cursor:pointer
        }
        .cbrrf-reset-btn:hover,.cbrrf-sortbtn:hover{background:#f8fbfe}
        .cbrrf-sortable{white-space:nowrap}
        .cbrrf-sortbtnwrap{display:inline-flex;align-items:center;gap:6px}
        .cbrrf-sortlabel{font-weight:600}
        .cbrrf-thumbcell{width:84px}
        .cbrrf-thumblink{display:inline-block;line-height:0}
        .cbrrf-thumb{display:block;width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid #d9e3eb;background:#f6f8fa;cursor:zoom-in}
        .cbrrf-thumb--empty{background:linear-gradient(180deg,#f6f8fa 0%,#edf2f6 100%)}
        .cbrrf-lightbox[hidden]{display:none !important}
        .cbrrf-lightbox{position:fixed;inset:0;z-index:99999}
        .cbrrf-lightbox__backdrop{position:absolute;inset:0;border:0;background:rgba(10,18,28,.78);cursor:pointer}
        .cbrrf-lightbox__dialog{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:100%;padding:28px}
        .cbrrf-lightbox__dialog img{max-width:min(92vw,1200px);max-height:88vh;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.45);background:#fff}
        .cbrrf-lightbox__x{position:fixed;top:18px;right:18px;z-index:100001;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.96);color:#111;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.18)}
        .cbrrf-popup-media{margin:0 0 8px}
        .cbrrf-popup-thumb{display:block;width:110px;height:82px;object-fit:cover;border-radius:10px;border:1px solid #d9e3eb;background:#f6f8fa;cursor:zoom-in}
        .cbrrf-popup-meta{color:#516a7e;font-size:13px;line-height:1.32}
        .cbrrf-popup-compact{min-width:210px;line-height:1.34}
        .leaflet-popup-content .cbrrf-popup-compact--coral{display:block}
        .leaflet-popup-content:has(.cbrrf-popup-compact--coral){margin:10px 10px 12px}
        .cbrrf-popup-title{display:block;margin:0 0 3px;color:#16344a}
        .cbrrf-popup-line{margin:2px 0}
        .cbrrf-popup-line a{text-decoration:none}
        .cbrrf-popup-guide{display:inline-flex;align-items:center;gap:6px;font-weight:700}
        .cbrrf-popup-stars{color:#d4a017;letter-spacing:.02em}
        .cbrrf-popup-stars--empty{color:#8a99a8}
        .cbrrf-popup-count{color:#516a7e;font-weight:600}
        .cbrrf-popup-call--disabled{color:#7b8794}
        .cbrrf-sortbtn{padding:0;background:none;border:0;font-weight:700;color:inherit}
        .cbrrf-sort-indicator{display:inline-block;min-width:1em;text-align:center}
.cbrrf-listwrap{
    overflow:auto;
    max-height:70vh;
    position:relative;
    padding:1px 18px 2px;
}
        .cbrrf-table{
            width:100%;
            border-collapse:separate;
            border-spacing:0
        }
        .cbrrf-table th,
        .cbrrf-table td{
            padding:11px 12px;
            border-bottom:1px solid #d9e3eb;
            text-align:left;
            vertical-align:top
        }
        .cbrrf-table th{
            position:sticky;
            top:0;
            z-index:5;
            background:#ecf3f8;
            color:#16344a;
            box-shadow:0 1px 0 #d9e3eb
        }
        .cbrrf-table tbody tr:nth-child(even) td{background:#f8fbfd}
        .cbrrf-table tr:hover td{background:#eef6fc}
        .cbrrf-table tr.cbrrf-row-active td{background:#e7f2fc}
        .cbrrf-suggest{
            position:absolute;
            left:0;right:0;top:calc(100% + 6px);
            background:#fff;
            border:1px solid #c7d4e0;
            border-radius:12px;
            box-shadow:0 10px 24px rgba(0,0,0,.10);
            z-index:9999;
            display:none;
            max-height:260px;
            overflow:auto
        }
        .cbrrf-suggest__item{padding:10px 12px;cursor:pointer;line-height:1.35}
        .cbrrf-suggest__item:hover,.cbrrf-suggest__item.is-active{background:#f7fafc}
        @media (max-width:980px){
            .cbrrf-form__controls{padding:16px}
            .cbrrf-form__helpwrap{padding:14px 16px 16px}
            .cbrrf-grid{grid-template-columns:1fr}
            .cbrrf-topbar{margin:0 0 12px}
            .cbrrf-actions{padding-top:12px}
            .cbrrf-btn{width:100%;min-width:0}
            .cbrrf-map{height:320px}
            .cbrrf-table-controls{padding:12px 16px 0}
    .cbrrf-listwrap{
        overflow:auto;
        max-height:60vh;
        padding:1px 16px 2px;
    }
        }
        .cbrrf-group-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-right:auto}
        .cbrrf-group-info__text{font-weight:600;color:#16344a}
        .cbrrf-reset-btn--secondary{padding:8px 11px}
        .cbrrf-cluster-wrap{background:transparent !important;border:0 !important}
        .cbrrf-cluster-icon{
            display:flex;
            align-items:center;
            justify-content:center;
            width:34px;
            height:34px;
            border-radius:999px;
            background:#ea7b18;
            color:#fff;
            font-weight:800;
            font-size:14px;
            line-height:1;
            border:2px solid #fff;
            box-shadow:0 6px 16px rgba(0,0,0,.18)
        }
        .cbrrf-cluster-icon.is-double{width:38px;height:38px;font-size:14px}
        .cbrrf-cluster-icon.is-triple{width:42px;height:42px;font-size:13px}

        .cbrrf-popup-compact--coral{
            min-width:0;
            width:196px;
            max-width:min(196px, calc(100vw - 54px));
        }
        .cbrrf-popup-compact--coral .cbrrf-popup-title{
            margin-bottom:5px;
            line-height:1.28;
            word-break:break-word;
            overflow-wrap:anywhere;
        }
        .cbrrf-popup-compact--coral .cbrrf-popup-line{margin:3px 0}
        .cbrrf-popup-compact--coral .cbrrf-popup-media{margin:0 0 8px}
        .cbrrf-table-controls--top{
            display:flex;
            justify-content:flex-end;
            align-items:center;
            padding:8px 18px 6px;
        }
        .cbrrf-table-controls--bottom{
            display:flex;
            justify-content:center;
            align-items:center;
            gap:10px;
            padding-top:0px;
            padding-bottom:16px;
        }
        .cbrrf-pager{
            display:flex;
            flex-direction:column;
            align-items:center;
            gap:3px;
            justify-self:center;
        }
        .cbrrf-pager__line{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}
        .cbrrf-pager__label,.cbrrf-pager__suffix,.cbrrf-pager__info{color:#16344a;font-weight:600;font-size:13px;line-height:1.15}
        .cbrrf-pager__select{min-height:34px;border:1px solid #c7d4e0;border-radius:11px;background:#fff;padding:5px 8px;font:inherit;max-width:72px}
                .cbrrf-pager .cbrrf-reset-btn--secondary{padding:5px 8px;font-size:12px;line-height:1.1;border-radius:11px}
        .cbrrf-reset-btn{padding:7px 10px;font-size:13px;line-height:1.15}
        .cbrrf-reset-btn[disabled]{opacity:.5;cursor:default}
        @media (max-width:767px){
            .cbrrf-table-controls{justify-content:flex-start}
            .cbrrf-table-controls--top{padding:8px 16px 6px;justify-content:flex-end}
            .cbrrf-table-controls--bottom{
                justify-content:center;
                padding-top:0px;
                padding-bottom:12px;
            }
            .cbrrf-pager{width:100%;align-items:center;gap:3px;justify-self:center}
            .cbrrf-pager__line{gap:5px;max-width:100%;justify-content:center}
            .cbrrf-pager__label,.cbrrf-pager__suffix,.cbrrf-pager__info{font-size:13px;line-height:1.15}
            .cbrrf-pager__select{min-height:34px;padding:5px 8px;max-width:72px}
            .cbrrf-pager .cbrrf-reset-btn--secondary{padding:5px 8px;font-size:12px;line-height:1.1}
            .cbrrf-pager__info{width:100%;text-align:center}
            .cbrrf-popup-compact--coral{width:min(188px, calc(100vw - 88px));max-width:min(188px, calc(100vw - 88px))}
        }
