:root {
    --rm-accent: #5b3df5;
    --rm-bg: #f7f7fb;
    --rm-card: #ffffff;
    --rm-muted: #6b7280;
    --rm-border: rgba(0,0,0,.08);
}

body:not(.rm-map-page):not(.rm-detailsearch-page) {
    background: var(--rm-bg);
}

/* Footer (keeps it at the bottom on short pages) */
.rm-footer{
    border-top: 1px solid var(--rm-border);
    background: rgba(247,247,251,.85);
    backdrop-filter: blur(10px);
}

/* =====================================================
   TOPBAR (CSHTML: rm-left / rm-center / rm-right)
   ===================================================== */

.topbar {
    position: sticky;
    top: 0;
    z-index: 2000;
    background: none;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--rm-border);
    padding: 10px 16px;
}

    /* 3 kolon: sol / orta / sað */
    .topbar .bar.rm-top {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 14px;
    }

    /* SOL: logo */
    .topbar .rm-left {
        display: flex;
        align-items: center;
    }

        .topbar .rm-left .brand {
            display: inline-flex;
            align-items: center;
            text-decoration: none;
        }

            /* Logo boyutları: Detaylı Arama / Home ile aynı hissiyat */
            .topbar .rm-left .brand img {
                /*height: 56px;*/
                width: auto;
                display: block;
            }

    /* SAÐ: logolar */
    .topbar .rm-right {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

        .topbar .rm-right .logos {
            display: flex;
            align-items: center;
            gap: 10px;
        }

            .topbar .rm-right .logos img {
                height: 56px;
                width: auto;
                display: block;
            }

/* Mobilde biraz küçült */
@media (max-width: 576px) {
    .topbar .rm-left .brand img,
    .topbar .rm-right .logos img {
        height: 44px;
    }
}

    /* ORTA: pill controls */
    .topbar .rm-center {
        display: flex;
        justify-content: center;
        min-width: 0;
    }

        .topbar .rm-center .controls.rm-controls {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px 12px;
            border-radius: 999px;
            background: rgba(255,255,255,.80);
            max-width: min(920px, 62vw);
            overflow: hidden;
        }

            /* Inline style min-widthleri (cshtmlde vardý) ezmek için !important */
            .topbar .rm-center .controls.rm-controls .form-select {
                height: 44px;
                padding: 11px 16px;
                border-radius: 999px;
                /* border: 1px solid rgba(0, 0, 0, .12); */
                background: #F2F2F2;
                font-size: 13px;
                width: 172px !important;
                min-width: 152px !important;
                max-width: 230px !important;
                border:none;
            }

            .topbar .rm-center .controls.rm-controls #turSelect {
                width: 200px !important;
                max-width: 270px !important;
            }

            .topbar .rm-center .controls.rm-controls a {
                font-size: 13px;
                white-space: nowrap;
            }

/* Harita sayfası: filtre dropdown paneli biraz daha geniş */
.rm-map-page .rm-cbd-panel {
    min-width: 280px;
    padding: 10px 12px;
    border-radius: 12px;
}

.rm-map-page .rm-cbd-list {
    max-height: 320px;
}

.rm-map-page .rm-cbd-item {
    padding: 8px 10px;
    gap: 10px;
}

.rm-map-page .rm-cbd-text {
    font-size: 14px;
}

.rm-map-page .rm-cbd-search {
    padding: 10px 10px 8px;
}

.rm-map-page .rm-cbd-search-input {
    font-size: 14px;
    padding: 8px 12px;
    height: 38px;
}

/* =====================================================
   LAYOUT / PANELS
   ===================================================== */

.layout {
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 12px;
    padding: 12px;
    min-height: calc(100vh - 90px);
    height: calc(100vh - 90px);
    align-items: stretch;
    box-sizing: border-box;
}

.panel {
    background: var(--rm-card);
    border-radius: 18px;
    overflow: hidden;
}

.layout > .panel:first-child {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.panel-header {
    padding: 12px 14px;
    border-bottom: 1px solid var(--rm-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 auto;
}

    .panel-header .muted {
        color: var(--rm-muted);
        font-size: 13px;
    }

.panel-body {
    padding: 10px;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* Okul kartlarý */
.school-item {
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 14px;
    padding: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    background: #fff;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

    .school-item:hover {
        border-color: #000;
        transform: translateY(-2px);
        box-shadow: 0 10px 22px rgba(0,0,0,.10);
    }

    .school-item.active {
        outline: 2px solid rgba(91,61,245,.35);
        border-color: rgba(91,61,245,.35);
        box-shadow: 0 12px 26px rgba(0,0,0,.12);
    }

.school-title {
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 4px;
}

.school-sub {
    color: var(--rm-muted);
    font-size: 12px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Harita */
.rm-map-panel-wrap {
    position: relative;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#map {
    width: 100%;
    min-height: 100%;
    height: 100%;
    flex: 1 1 auto;
    border-radius: 18px;
    border: 1px solid var(--rm-border);
}

body.rm-route-page #map.rm-route-map {
    flex: none;
    height: calc(100vh - 190px);
    min-height: 420px;
}

@media (max-width: 991.98px) {
    body.rm-route-page #map.rm-route-map {
        height: min(72dvh, 680px) !important;
        min-height: 360px !important;
    }
}

@media (max-width: 575.98px) {
    body.rm-route-page #map.rm-route-map {
        height: min(68dvh, 620px) !important;
        min-height: 320px !important;
    }
}

.rm-map-empty-guide {
    position: absolute;
    inset: 0;
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(247, 247, 251, .78);
    backdrop-filter: blur(4px);
    border-radius: 18px;
}

.rm-map-empty-guide.is-hidden {
    display: none;
}

.rm-map-empty-card {
    width: min(540px, 94%);
    text-align: center;
    background: #fff;
    border: 1px solid rgba(91, 61, 245, .14);
    border-radius: 20px;
    padding: 36px 32px;
    box-shadow: 0 20px 48px rgba(15, 23, 42, .12);
}

.rm-map-empty-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(91, 61, 245, .10);
    color: var(--rm-accent);
    font-size: 1.65rem;
}

.rm-list-empty-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(91, 61, 245, .10);
    color: var(--rm-accent);
    font-size: 1.35rem;
}

.rm-map-empty-title {
    font-size: 1.28rem;
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 14px;
    line-height: 1.35;
}

.rm-list-empty-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 10px;
}

.rm-map-empty-steps {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    text-align: left;
    display: grid;
    gap: 12px;
}

.rm-map-empty-steps li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1rem;
    color: #334155;
}

.rm-map-empty-steps li span {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(91, 61, 245, .12);
    color: var(--rm-accent);
    font-size: .88rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.rm-map-empty-steps em {
    font-style: normal;
    color: var(--rm-muted);
    font-size: .9rem;
}

.rm-map-empty-card .rm-btn-start-filter {
    padding: 10px 24px;
    font-size: .95rem;
}

.rm-list-empty-guide {
    border: 1px dashed rgba(91, 61, 245, .22);
    border-radius: 14px;
    padding: 18px 16px;
    text-align: center;
    background: rgba(91, 61, 245, .03);
    margin-top: 4px;
}

.rm-list-empty-guide.is-hidden {
    display: none;
}

.rm-list-empty-text {
    margin: 0 0 14px;
    font-size: .86rem;
    color: var(--rm-muted);
    line-height: 1.45;
}

.rm-btn-start-filter {
    border-radius: 999px;
    padding-inline: 18px;
    font-weight: 700;
}

.rm-filter-hint-pulse {
    animation: rm-filter-pulse 1.4s ease-in-out infinite;
    box-shadow: 0 0 0 0 rgba(91, 61, 245, .45);
}

@keyframes rm-filter-pulse {
    0% { box-shadow: 0 0 0 0 rgba(91, 61, 245, .40); }
    70% { box-shadow: 0 0 0 10px rgba(91, 61, 245, 0); }
    100% { box-shadow: 0 0 0 0 rgba(91, 61, 245, 0); }
}

#map .leaflet-container {
    width: 100%;
    height: 100%;
}

/* Pager */
.pager {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    padding: 10px 0 4px;
}

    .pager button {
        border: 1px solid var(--rm-border);
        background: #fff;
        border-radius: 10px;
        padding: 6px 10px;
        font-size: 12px;
    }

        .pager button.active {
            background: var(--rm-accent);
            color: #fff;
            border-color: transparent;
        }

        .pager button:disabled {
            opacity: .5;
            cursor: not-allowed;
        }

/* =====================================================
   RESPONSIVE
   ===================================================== */

.rm-mobile-view-tabs {
    display: none;
    gap: 8px;
    padding: 10px 12px 0;
    background: var(--rm-bg, #f5f6fa);
}

.rm-mobile-view-tab {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border: 1px solid rgba(111, 66, 193, 0.16);
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.rm-mobile-view-tab.is-active {
    background: var(--rm-accent, #6f42c1);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 8px 18px rgba(111, 66, 193, 0.22);
}

@media (max-width: 1100px) {
    .rm-mobile-view-tabs {
        display: flex;
    }

    .rm-map-page.rm-mobile-map-active {
        overflow: hidden;
    }

    .rm-map-page.rm-mobile-map-active .layout {
        padding-bottom: 0;
    }

    .rm-map-page.rm-mobile-map-active .rm-footer {
        display: none;
    }

    .layout.rm-mobile-tab-mode {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 8px 12px 12px;
        height: calc(100vh - 168px);
        min-height: 0;
        overflow: hidden;
    }

    .layout.rm-mobile-tab-mode > .panel {
        display: none;
        min-height: 0;
    }

    .layout.rm-mobile-tab-mode.rm-view-list > .rm-list-panel {
        display: flex;
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
    }

    .layout.rm-mobile-tab-mode.rm-view-list > .rm-list-panel .panel-body {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .layout.rm-mobile-tab-mode.rm-view-map > .rm-map-panel {
        display: block;
        flex: 1 1 auto;
        min-height: 0;
        height: 100%;
    }

    .layout.rm-mobile-tab-mode.rm-view-map #map {
        min-height: 100%;
        height: 100%;
        border-radius: 16px;
        touch-action: none;
    }

    .layout {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
    }

    .layout > .panel:first-child {
        max-height: none;
    }

    .layout:not(.rm-mobile-tab-mode) #map {
        min-height: 520px;
        height: 520px;
    }

    /* Orta pill biraz serbestleþsin */
    .topbar .rm-center .controls.rm-controls {
        max-width: 100%;
        overflow: visible;
        flex-wrap: wrap;
        border-radius: 18px;
    }
}

/* Mobil: logolar her zaman üstte kalsın (Detaylı Arama ile aynı hissiyat)
   - 1. satır: sol logo + sağ logolar
   - 2. satır: arama kontrolleri (tam genişlik)
*/
@media (max-width: 640px) {
    .topbar {
        padding: 10px 12px;
    }

    .topbar .bar.rm-top {
        grid-template-columns: auto 1fr auto;
        grid-auto-rows: auto;
        gap: 10px;
    }

    .topbar .rm-left {
        grid-column: 1;
        grid-row: 1;
    }

    .topbar .rm-right {
        grid-column: 3;
        grid-row: 1;
        justify-content: flex-end;
    }

    .topbar .rm-right .logos {
        flex-wrap: nowrap;
        white-space: nowrap;
    }

    .topbar .rm-center {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: flex-start;
    }

    .topbar .rm-center .controls.rm-controls {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        max-width: 100%;
    }

    .topbar .rm-center .controls.rm-controls .form-select,
    .topbar .rm-center .controls.rm-controls #turSelect {
        width: 100% !important;
        max-width: none !important;
    }

    .layout.rm-mobile-tab-mode {
        height: calc(100vh - 228px);
    }
}

/* =====================================================
   Harita üzerinde okul adı label (Leaflet Tooltip)
   ===================================================== */

.rm-school-label{
    background: var(--rm-label-bg, rgba(255,255,255,.92));
    color: var(--rm-label-fg, #111);
    border: 1px solid var(--rm-label-border, rgba(0,0,0,.10));
    border-radius: 9px;
    padding: 3px 6px;
    font-size: 11px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

/* Tooltip oku/çerçeveyi sadeleştir */
.leaflet-tooltip.rm-school-label:before{
    border-top-color: var(--rm-label-bg, rgba(255,255,255,.92));
}

/* Leaflet tooltips default pointer-events: none; enable click on labels */
.leaflet-tooltip.rm-school-label{
    pointer-events: auto;
    cursor: pointer;
}


/* Seçili okul label içeriği (yıldız + foto) */
.rm-sel-label{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 150px;
  cursor: pointer;
}
.rm-sel-top{
  display: flex;
  align-items: center;
  gap: 6px;
}
.rm-sel-star{
  font-size: 13px;
  line-height: 1;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  border: 1px solid rgba(255,255,255,.25);
}
.rm-sel-name{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1px;
}
.rm-sel-imgwrap{
  width: 100%;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.12);
}
.rm-sel-img{
  width: 100%;
  height: 100%;
  /* Fotoğraf kırpılmasın, label içine sığsın */
  object-fit: contain;
  display: block;
}

/* Seçili label haritada üstte kalsın */
.leaflet-tooltip.rm-school-label.rm-selected{
  z-index: 2000 !important;
}



/* Okul türlerine göre label renkleri */
.rm-school-label.rm-label-c0{ --rm-label-bg:#1f2937; --rm-label-fg:#fff; --rm-label-border:rgba(0,0,0,.15); }
.rm-school-label.rm-label-c1{ --rm-label-bg:#0f766e; --rm-label-fg:#fff; --rm-label-border:rgba(0,0,0,.12); }
.rm-school-label.rm-label-c2{ --rm-label-bg:#1d4ed8; --rm-label-fg:#fff; --rm-label-border:rgba(0,0,0,.12); }
.rm-school-label.rm-label-c3{ --rm-label-bg:#7c3aed; --rm-label-fg:#fff; --rm-label-border:rgba(0,0,0,.12); }
.rm-school-label.rm-label-c4{ --rm-label-bg:#be123c; --rm-label-fg:#fff; --rm-label-border:rgba(0,0,0,.12); }
.rm-school-label.rm-label-c5{ --rm-label-bg:#b45309; --rm-label-fg:#fff; --rm-label-border:rgba(0,0,0,.12); }
.rm-school-label.rm-label-c6{ --rm-label-bg:#365314; --rm-label-fg:#fff; --rm-label-border:rgba(0,0,0,.12); }
.rm-school-label.rm-label-c7{ --rm-label-bg:#0ea5e9; --rm-label-fg:#0b1220; --rm-label-border:rgba(0,0,0,.10); }
.rm-school-label.rm-label-c8{ --rm-label-bg:#f59e0b; --rm-label-fg:#111; --rm-label-border:rgba(0,0,0,.10); }
.rm-school-label.rm-label-c9{ --rm-label-bg:#22c55e; --rm-label-fg:#0b1220; --rm-label-border:rgba(0,0,0,.10); }
.rm-school-label.rm-label-c10{ --rm-label-bg:#e879f9; --rm-label-fg:#111; --rm-label-border:rgba(0,0,0,.10); }
.rm-school-label.rm-label-c11{ --rm-label-bg:#fb7185; --rm-label-fg:#111; --rm-label-border:rgba(0,0,0,.10); }

/* Force Leaflet tooltip label colors (override Leaflet defaults) */
.leaflet-tooltip.rm-school-label{
  background: var(--rm-label-bg, rgba(255,255,255,.92)) !important;
  color: var(--rm-label-fg, #111) !important;
  border: 1px solid var(--rm-label-border, rgba(0,0,0,.10)) !important;
  /* Leaflet tooltip'lar varsayılan olarak tıklanamaz (pointer-events:none) geliyor.
     Okul adı label'ına tıklayınca popup açılması için tıklanabilir yapıyoruz. */
  pointer-events: auto !important;
}
.leaflet-tooltip.rm-school-label.leaflet-tooltip-top:before{
  border-top-color: var(--rm-label-bg, rgba(255,255,255,.92)) !important;
}
.leaflet-tooltip.rm-school-label.leaflet-tooltip-bottom:before{
  border-bottom-color: var(--rm-label-bg, rgba(255,255,255,.92)) !important;
}

/* Label tıklanabilir + animasyon */
.leaflet-tooltip.rm-school-label{
  pointer-events: auto !important;
  cursor: pointer;
  user-select: none;
  transition: transform .12s ease, opacity .12s ease;
}

/* Seçili okul label'ı */
.leaflet-tooltip.rm-school-label.rm-selected{
  transform: scale(1.08);
  box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
}

/* Seçili varken diğerlerini soluklaştır */
.leaflet-tooltip.rm-school-label.rm-faded{
  opacity: .35 !important;
}

/* Hover önizleme popup */
.rm-preview-popup .leaflet-popup-content-wrapper{
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.rm-preview-popup .leaflet-popup-content{
  margin: 10px 12px;
}
.rm-preview-title{ font-weight: 800; font-size: 13px; }
.rm-preview-sub{ color: #6b7280; font-size: 12px; margin-top: 2px; }

/* =====================================================
   Okul Modal (harita tıklayınca açılan popup)
   ===================================================== */
#schoolModal .modal-content{
  border: 1px solid rgba(91,61,245,.16);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
  overflow: hidden;
}

#schoolModal .modal-header{
  border: none;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(91,61,245,.10), rgba(91,61,245,.02));
}

#schoolModal .modal-title{
  font-weight: 900;
  letter-spacing: -0.01em;
}

#schoolModal .btn-close{
  opacity: .7;
}

#schoolModal .modal-body{
  padding: 16px;
}

.rm-school-hero{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.rm-school-photo-wrap{
  width: 100%;
}

.rm-school-photo{
  width: 100%;
  max-height: 220px;
  height: auto;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 8px;
}

.rm-school-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rm-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(91,61,245,.12);
  color: #2a1dbf;
  border: 1px solid rgba(91,61,245,.18);
}

.rm-badge i{ font-size: 13px; }

.rm-badge.rm-badge-soft{
  background: rgba(0,0,0,.04);
  color: #111;
  border-color: rgba(0,0,0,.08);
}

.rm-section{
  background: rgba(0,0,0,.02);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  padding: 12px;
  margin-top: 10px;
}

.rm-section-title{
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(0,0,0,.55);
  margin-bottom: 8px;
}

.rm-section-text{
  font-size: 13px;
}

/* Modal buton (tema moru) */
#schoolModal #detailLink{
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
  border: none;
  background: var(--rm-accent);
  box-shadow: 0 14px 32px rgba(91,61,245,.28);
}
#schoolModal #detailLink:hover{
  filter: brightness(.96);
}


/* Okul türü legend */
.rm-legend{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 10px 10px 8px;
  box-shadow: 0 14px 34px rgba(0,0,0,.14);
  backdrop-filter: blur(8px);
  max-width: min(320px, 70vw);
}
.rm-legend-title{
  font-weight: 900;
  font-size: 13px;
  margin-bottom: 6px;
}
.rm-legend-body{ display: grid; gap: 6px; }
.rm-legend-item{
  display: grid;
  grid-template-columns: 14px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 12px;
}
.rm-legend-item:hover{ background: rgba(0,0,0,.04); }
.rm-legend-swatch{
  width: 12px;
  height: 12px;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.10);
}
.rm-legend-name{ font-size: 12px; font-weight: 700; color: #111; }
.rm-legend-count{ font-size: 12px; color: #6b7280; }
.rm-legend-muted{ font-size: 12px; color: #6b7280; padding: 4px 2px; }

/* swatch'larda mevcut renk sınıflarını kullan */
.rm-legend-swatch.rm-label-c0{ background:#1f2937; }
.rm-legend-swatch.rm-label-c1{ background:#0f766e; }
.rm-legend-swatch.rm-label-c2{ background:#1d4ed8; }
.rm-legend-swatch.rm-label-c3{ background:#7c3aed; }
.rm-legend-swatch.rm-label-c4{ background:#be123c; }
.rm-legend-swatch.rm-label-c5{ background:#b45309; }
.rm-legend-swatch.rm-label-c6{ background:#365314; }
.rm-legend-swatch.rm-label-c7{ background:#0ea5e9; }
.rm-legend-swatch.rm-label-c8{ background:#f59e0b; }
.rm-legend-swatch.rm-label-c9{ background:#22c55e; }
.rm-legend-swatch.rm-label-c10{ background:#e879f9; }
.rm-legend-swatch.rm-label-c11{ background:#fb7185; }


/* =====================================================
   Renkli Marker (okul türü ile aynı palet)
   ===================================================== */
.rm-marker{
  background: transparent !important;
  border: none !important;
  pointer-events: auto !important;
  cursor: pointer;
}
.leaflet-marker-icon.rm-marker{
  pointer-events: auto !important;
}

/* Okul markerı: pin yok, sadece ikonlu rozet */
.rm-marker .rm-school-badge{
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--rm-label-bg, #111);
  border: 2px solid rgba(255,255,255,.95);
  box-shadow: 0 10px 20px rgba(0,0,0,.20);
  transform-origin: 50% 50%;
  transition: transform .12s ease, opacity .12s ease;
}
.rm-marker .rm-school-badge svg{
  width: 16px;
  height: 16px;
  fill: rgba(255,255,255,.95);
  pointer-events: none;
}
.rm-marker .rm-pin{
  position: relative;
  width: 26px;
  height: 34px;
  transform-origin: 50% 100%;
  transition: transform .12s ease, opacity .12s ease;
}
.rm-marker .rm-pin-dot{
  position:absolute;
  left: 50%;
  top: 10px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  transform: translateX(-50%);
  background: var(--rm-label-bg, #111);
  border: 2px solid rgba(255,255,255,.95);
  box-shadow: 0 10px 20px rgba(0,0,0,.20);
}
.rm-marker .rm-pin:after{
  content:"";
  position:absolute;
  left:50%;
  top: 20px;
  width: 10px;
  height: 10px;
  background: var(--rm-label-bg, #111);
  transform: translateX(-50%) rotate(45deg);
  border-radius: 2px;
  box-shadow: 0 10px 20px rgba(0,0,0,.20);
}
.rm-marker .rm-pin-ico{
  position:absolute;
  left:50%;
  top: 11px;
  width: 14px;
  height: 14px;
  transform: translateX(-50%);
  fill: rgba(255,255,255,.95);
  pointer-events: none;
}

/* Palet eşlemesi: marker'lar da label renk değişkenini kullanıyor */
.rm-marker.rm-marker-c0{ --rm-label-bg:#1f2937; }
.rm-marker.rm-marker-c1{ --rm-label-bg:#0f766e; }
.rm-marker.rm-marker-c2{ --rm-label-bg:#1d4ed8; }
.rm-marker.rm-marker-c3{ --rm-label-bg:#7c3aed; }
.rm-marker.rm-marker-c4{ --rm-label-bg:#be123c; }
.rm-marker.rm-marker-c5{ --rm-label-bg:#b45309; }
.rm-marker.rm-marker-c6{ --rm-label-bg:#365314; }
.rm-marker.rm-marker-c7{ --rm-label-bg:#0ea5e9; }
.rm-marker.rm-marker-c8{ --rm-label-bg:#f59e0b; }
.rm-marker.rm-marker-c9{ --rm-label-bg:#22c55e; }
.rm-marker.rm-marker-c10{ --rm-label-bg:#e879f9; }
.rm-marker.rm-marker-c11{ --rm-label-bg:#fb7185; }

/* Seçili marker büyüsün */
.rm-marker.rm-selected .rm-pin{ transform: scale(1.12); }
.rm-marker.rm-selected .rm-school-badge{ transform: scale(1.12); }

/* Seçili varken diğer marker'lar soluk */
.rm-marker.rm-faded{
  opacity: .35;
}

/* Zoom düşükken marker küçülsün; label büyüme class'ı JS'ten geliyor */
.rm-marker.rm-zoom-compact .rm-pin{
  transform: scale(0.82);
}
.rm-marker.rm-zoom-compact .rm-school-badge{
  transform: scale(0.88);
}
.rm-marker.rm-zoom-compact .rm-school-badge{
  transform: scale(0.86);
}
.leaflet-tooltip.rm-school-label.rm-zoom-big{
  transform: scale(1.02);
}

/* Legend aktif filtre görünümü */
.rm-legend-item.is-active{
  outline: 2px solid rgba(91,61,245,.30);
  background: rgba(91,61,245,.08);
}

/* Seçili okulu takip (kontrol) */
.rm-follow{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 999px;
  padding: 6px;
  box-shadow: 0 14px 34px rgba(0,0,0,.14);
  backdrop-filter: blur(8px);
}
.rm-follow-btn{
  display:flex;
  align-items:center;
  gap: 8px;
  border: none;
  background: transparent;
  font-weight: 800;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #111;
}
.rm-follow-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #cbd5e1;
}
.rm-follow-btn.is-on .rm-follow-dot{ background: #22c55e; }


/* === Map list: add badge icon near school name === */
.school-title-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.school-title-main{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex:1 1 auto;
  min-width:0;
}
.school-title-main .school-title{
  flex:1 1 auto;
  min-width:0;
}
.school-title-main .rm-kurum-zoom{
  flex:0 0 auto;
  margin-top:1px;
}
.school-badge{
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 999px;
  object-fit: contain;
}

/* === Map header: no grey strip === */
.panel-top{
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}
/* badge styles */
.school-title-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.school-badge{
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 999px;
  object-fit: contain;
}

/* no grey strip header/footer */
.rm-map-page .panel-top, .rm-map-page .panel-header, .rm-map-page .panel-head{
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}


/* Mobile: hide legend (okul türleri paneli haritayı kaplamasın) */
@media (max-width: 576px){
  .rm-legend{ display:none !important; }
}
