/* =========================================================
   MONTSERRAT
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');


/* =========================================================
   ОСНОВНЕ ВРЕДНОСТИ
   ========================================================= */

:root {

    --zelena: #235347;

    --zelena-hover: #2fa98c;

    --tamno: #0b0b0f;

    --tamno-2: #101114;

    --tekst: #c3e8cf;

    --glass: rgba(255, 255, 255, .07);

    --glass-border: rgba(35, 83, 71, .45);

    --header-height: 77px;

    /*
     * ШИРИНА ДЕСНОГ ПАНЕЛА
     */
    --terminal-width: 36%;

    --terminal-width-left: 340px;


    /* =====================================================
       БОЈЕ КАРТИЦА
       ===================================================== */

    --card-zeleniste: #34915e;

    --card-vode: #45ccca;

    --card-saobracaj: #db2442;

    --card-objekti: #9a6fc4;

    --card-politika: #eeeeee;


    /* =====================================================
       БОЈЕ ФИЛТЕРА / СЛОЈЕВА
       ===================================================== */

    --map-sume: #235347;

    --map-ritovi: #5b8f73;

    --map-vocnjaci: #329171;

    --map-poljane: #8fbf65;

    --map-reke: #3c8db5;

    --map-jezera: #4c9fca;

    --map-drumovi: #db2442;

    --map-zeleznica: #e92e76;

    --map-objekti: #9a6fc4;

    --map-politika-povrsina: #d7d7d7;

    --map-politika-mreza: #eeeeee;

    --map-politika-nazivi: #eeeeee;

    --map-granica: #2fa98c;

    --map-maska: #0b0b0f;
}


/* =========================================================
   ОСНОВА
   ========================================================= */

* {

    box-sizing: border-box;

}


html,
body {

    width: 100%;

    height: 100%;

    margin: 0;

    padding: 0;

    overflow: hidden;

    background: var(--tamno);

    color: var(--tekst);

    font-family:
        'Montserrat',
        sans-serif;
}


/* =========================================================
   КАРТА
   ========================================================= */

#mapa {

    position: fixed;

    left: var(--terminal-width-left);

    top: var(--header-height);

    width: calc(100% - var(--terminal-width) - var(--terminal-width-left));

    height: calc(100% - var(--header-height));

    background: var(--tamno) !important;

    z-index: 1;
}


/* =========================================================
   HEADER
   ========================================================= */

.map-page-header {

    position: fixed;

    left: 0;

    top: 0;

    width: 100vw;

    height: var(--header-height);

    min-height: var(--header-height);

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 24px;

    background:
        rgba(11, 11, 15, .88);

    border-bottom:
        1px solid rgba(35, 83, 71, .55);

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

    z-index: 3000;
}


.map-page-header-left {

    display: flex;

    align-items: center;

    gap: 15px;
}


.map-page-back {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: rgba(35, 83, 71, 0.3);

    border: 1px solid rgba(47, 169, 140, 0.35);

    color: var(--tekst);

    text-decoration: none;

    font-size: 22px;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.map-page-back:hover {

    background:
        rgba(47, 169, 140, .40);

    transform:
        translateX(-2px);
}


.map-page-header-small {

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 2px;

    opacity: 0.55;
}


.map-page-header-title {

    margin-top: 3px;

    font-size: 20px;

    font-weight: 600;
}


/* =========================================================
   НАЗИВ МЕСТА + ГРБ
   ========================================================= */

.map-page-place {

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 14px;

    font-weight: 500;
}


.map-page-place img {

    display: block;

    width: auto;

    height: calc(var(--header-height) - 15px);

    max-width: 90px;

    object-fit: contain;

    flex: 0 0 auto;
}


/* =========================================================
   ДЕСНИ ПАНЕЛ
   ========================================================= */

.map-terminal {

    position: fixed;

    top: var(--header-height);

    right: 0;

    bottom: 0;

    width: var(--terminal-width);

    box-sizing: border-box;

    overflow: hidden;

    background:
        rgba(11, 11, 15, .62);

    border-left:
        1px solid rgba(47, 169, 140, .65);

    box-shadow:
        -8px 0 25px rgba(47, 169, 140, .14),
        -2px 0 10px rgba(47, 169, 140, .22),
        inset 1px 0 14px rgba(47, 169, 140, .08);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    z-index: 2000;
}


.map-terminal::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 1px;

    height: 100%;

    background:
        linear-gradient(
            to bottom,
            rgba(47, 169, 140, .75),
            rgba(47, 169, 140, .20),
            rgba(47, 169, 140, .55)
        );

    box-shadow:
        0 0 10px rgba(47, 169, 140, .32),
        0 0 24px rgba(47, 169, 140, .12);

    pointer-events: none;
}


.map-terminal-scroll {

    width: 100%;

    height: 100%;

    box-sizing: border-box;

    overflow-y: auto;

    overflow-x: hidden;

    padding:
        0 16px 22px;
}


.map-terminal-scroll::-webkit-scrollbar {

    width: 5px;
}


.map-terminal-scroll::-webkit-scrollbar-track {

    background: transparent;
}


.map-terminal-scroll::-webkit-scrollbar-thumb {

    background:
        rgba(47, 169, 140, .30);

    border-radius:
        10px;
}


/* =========================================================
   ЛЕВИ ТЕРМИНАЛ (ГЕОПОЈМОВИ - ТАЧКЕ)

   Огледало .map-terminal, само на левoj страни и ужи.
   ========================================================= */

.map-terminal-left {

    position: fixed;

    top: var(--header-height);

    left: 0;

    bottom: 0;

    width: var(--terminal-width-left);

    box-sizing: border-box;

    overflow: hidden;

    background:
        rgba(11, 11, 15, .62);

    border-right:
        1px solid rgba(47, 169, 140, .65);

    box-shadow:
        8px 0 25px rgba(47, 169, 140, .14),
        2px 0 10px rgba(47, 169, 140, .22),
        inset -1px 0 14px rgba(47, 169, 140, .08);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    z-index: 2000;
}


.map-terminal-left::before {

    content: "";

    position: absolute;

    right: 0;

    top: 0;

    width: 1px;

    height: 100%;

    background:
        linear-gradient(
            to bottom,
            rgba(47, 169, 140, .75),
            rgba(47, 169, 140, .20),
            rgba(47, 169, 140, .55)
        );

    box-shadow:
        0 0 10px rgba(47, 169, 140, .32),
        0 0 24px rgba(47, 169, 140, .12);

    pointer-events: none;
}


@media (max-width: 1100px) {

    .map-terminal-left {
        width: 280px;
    }

}


@media (max-width: 768px) {

    :root {
        --terminal-width-left: 0px;
    }

    .map-terminal-left {

        top: auto;
        bottom: 0;
        left: 0;
        right: 0;

        width: 100%;
        height: 40vh;

        border-right: none;

        border-top:
            1px solid rgba(47, 169, 140, .65);

    }

    .map-terminal-left::before {

        right: auto;
        top: 0;
        left: 0;

        width: 100%;
        height: 1px;

    }

}


/* =========================================================
   POPUP — ОБЈЕКТИ (тамна тема)
   ========================================================= */

.leaflet-popup-content-wrapper {

    background: rgba(16, 17, 20, .95);

    color: var(--tekst);

    border:
        1px solid rgba(47, 169, 140, .45);

    border-radius: 10px;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, .5);
}


.leaflet-popup-tip {

    background: rgba(16, 17, 20, .95);

    border:
        1px solid rgba(47, 169, 140, .45);
}


.leaflet-popup-close-button {

    color: var(--tekst) !important;
}


.map-objekat-popup-naziv {

    font-weight: 600;

    font-size: .95rem;

    margin-bottom: 2px;
}


.map-objekat-popup-tip {

    font-size: .8rem;

    opacity: .7;
}


.map-objekat-ikonica {

    height: auto !important;

    filter:
        drop-shadow(0 1px 3px rgba(0, 0, 0, .8))
        drop-shadow(0 0 4px rgba(0, 0, 0, .5));

    transition: transform .15s ease;
}


.map-objekat-ikonica:hover {

    transform: scale(1.15);
}


/* =========================================================
   ПОПУП ОБЈЕКТА — БОГАТ САДРЖАЈ
   ========================================================= */

.leaflet-popup-content {

    margin: 0 !important;
}


.map-objekat-popup {

    padding: 12px;

    min-width: 320px;

    font-family: 'Montserrat', sans-serif;
}


.popup-slika-wrap {

    width: 100%;

    height: 140px;

    border-radius: 8px;

    overflow: hidden;

    margin-bottom: 10px;

    background: rgba(255, 255, 255, .05);

    display: flex;

    align-items: center;

    justify-content: center;
}


.popup-slika {

    width: 100%;

    height: 100%;

    object-fit: cover;
}


.popup-slika-loading {

    font-size: .75rem;

    opacity: .6;
}


.popup-naziv {

    font-size: 1rem;

    font-weight: 700;

    color: var(--tekst);

    margin-bottom: 8px;

    line-height: 1.25;
}


.popup-red {

    margin-bottom: 6px;
}


.popup-red-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 8px 12px;

    margin-bottom: 4px;
}


.popup-red-label {

    font-size: .68rem;

    font-weight: 600;

    letter-spacing: .5px;

    text-transform: uppercase;

    opacity: .55;

    color: var(--tekst);
}


.popup-red-value {

    font-size: .85rem;

    color: var(--tekst);
}


.popup-opis {

    margin-top: 8px;

    padding-top: 8px;

    border-top:
        1px solid rgba(47, 169, 140, .25);

    font-size: .8rem;

    line-height: 1.4;

    color: var(--tekst);

    opacity: .85;
}


.popup-dugmad {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 6px;

    margin-top: 12px;
}


.popup-btn {

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    min-height: 34px;

    padding: 7px 6px;

    background: var(--glass);

    border:
        1px solid rgba(47, 169, 140, .4);

    border-radius: 6px;

    color: var(--tekst);

    font-family: 'Montserrat', sans-serif;

    font-size: .68rem;

    font-weight: 700;

    letter-spacing: .3px;

    line-height: 1.2;

    cursor: pointer;

    transition: all .15s ease;
}


.popup-btn:hover {

    background: rgba(35, 83, 71, .78);

    border-color: var(--zelena-hover);

    color: var(--zelena-hover);

    transform: translateY(-1px);
}


/* =========================================================
   КОНТРОЛА КООРДИНАТА (доњи леви угао)
   ========================================================= */

.leaflet-control-koordinate {

    display: flex;

    flex-direction: column;

    gap: 2px;

    font-family: 'Montserrat', sans-serif;

    font-size: .75rem;

    color: var(--tekst);
}


.koordinata-mesto {

    opacity: .8;
}


.koordinata-red {

    display: flex;

    gap: 14px;

    opacity: .8;
}


/* =========================================================
   ПРИКАЗ
   ========================================================= */

.map-command-panel {

    padding:
        17px 16px 16px;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    position:
        relative;
}


.map-command-panel::after {

    content: "";

    position: absolute;

    left: 50%;

    bottom: 0;

    width: 85%;

    height: 1px;

    transform:
        translateX(-50%);

    background:
        rgba(47, 169, 140, .65);

    box-shadow:
        0 0 8px rgba(47, 169, 140, .20);
}


.map-command-title {

    margin-bottom:
        14px;

    font-size:
        11px;

    font-weight:
        600;

    letter-spacing:
        2px;

    opacity:
        .55;
}


.map-command-options {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        8px;
}


.map-base-option {

    min-width:
        0;

    padding:
        10px 5px 9px;

    display: flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;

    border:
        1px solid rgba(47, 169, 140, .28);

    border-radius:
        10px;

    background:
        rgba(255, 255, 255, .045);

    color:
        var(--tekst);

    cursor:
        pointer;

    box-shadow:
        0 0 8px rgba(47, 169, 140, .09),
        inset 0 0 8px rgba(47, 169, 140, .04);

    transition:
        .2s ease;
}


.map-base-icon {

    width:
        27px;

    height:
        27px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    font-size:
        17px;

    border:
        1px solid rgba(47, 169, 140, .25);

    border-radius:
        7px;

    background:
        rgba(35, 83, 71, .22);
}


.map-base-option span:last-child {

    font-size:
        11px;

    white-space:
        nowrap;

    opacity:
        .78;
}


.map-base-option:hover {

    background:
        rgba(35, 83, 71, .55);

    border-color:
        rgba(47, 169, 140, .70);

    box-shadow:
        0 0 12px rgba(47, 169, 140, .25),
        0 0 23px rgba(47, 169, 140, .10);

    transform:
        translateY(-1px);
}


.map-base-option.active {

    background:
        rgba(35, 83, 71, .72);

    border-color:
        rgba(47, 169, 140, .78);

    box-shadow:
        0 0 12px rgba(47, 169, 140, .28),
        0 0 25px rgba(47, 169, 140, .12),
        inset 0 0 12px rgba(47, 169, 140, .10);
}


/* =========================================================
   ПОЈМОВИ
   ========================================================= */

.map-concepts {

    padding-top: 16px;
}


.map-concepts-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding:
        0 2px 13px;
}


.map-concepts-title {

    font-size:
        11px;

    font-weight:
        600;

    letter-spacing:
        2px;

    opacity:
        .58;
}


.map-global-actions {

    display: flex;

    gap:
        6px;
}


.map-global-action {

    padding:
        5px 10px;

    border:
        1px solid rgba(47, 169, 140, .34);

    border-radius:
        7px;

    background:
        rgba(255, 255, 255, .045);

    color:
        var(--tekst);

    font-size:
        10px;

    cursor:
        pointer;

    transition:
        .2s ease;
}


.map-global-action:hover {

    background:
        rgba(35, 83, 71, .62);

    border-color:
        rgba(47, 169, 140, .72);

    box-shadow:
        0 0 10px rgba(47, 169, 140, .20);
}


/* =========================================================
   КАРТИЦЕ
   ========================================================= */

.map-layer-cards {

    display: flex;

    flex-direction:
        column;

    gap:
        12px;

    margin-left:
        12px;

    margin-right:
        12px;
}


.map-layer-card {

    --card-accent: #235347;

    padding:
        14px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--card-accent) 52%,
            transparent
        );

    border-radius:
        12px;

    background:
        rgba(255, 255, 255, .045);

    box-shadow:
        0 0 11px
        color-mix(
            in srgb,
            var(--card-accent) 25%,
            transparent
        ),
        0 0 25px
        color-mix(
            in srgb,
            var(--card-accent) 13%,
            transparent
        ),
        inset 0 0 15px
        color-mix(
            in srgb,
            var(--card-accent) 7%,
            transparent
        );

    backdrop-filter:
        blur(10px);
}


/* =========================================================
   БОЈЕ ПОЈЕДИНАЧНИХ КАРТИЦА
   ========================================================= */

.card-zeleniste {

    --card-accent: var(--card-zeleniste);
}


.card-vode {

    --card-accent: var(--card-vode);
}


.card-saobracaj {

    --card-accent: var(--card-saobracaj);
}


.card-objekti {

    --card-accent: var(--card-objekti);
}


.card-politika {

    --card-accent: var(--card-politika);
}


/* =========================================================
   HEADER КАРТИЦЕ
   ========================================================= */

.map-layer-card-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap:
        12px;

    margin-bottom:
        12px;
}


.map-layer-card-title {

    font-size:
        14px;

    font-weight:
        600;

    letter-spacing:
        .3px;
}


.map-card-actions {

    display: flex;

    gap:
        5px;
}


.map-card-action {

    padding:
        4px 8px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--card-accent) 40%,
            transparent
        );

    border-radius:
        6px;

    background:
        rgba(255, 255, 255, .035);

    color:
        var(--tekst);

    font-size:
        9px;

    cursor:
        pointer;

    transition:
        .2s ease;
}


.map-card-action:hover:not(:disabled) {

    background:
        color-mix(
            in srgb,
            var(--card-accent) 35%,
            transparent
        );

    border-color:
        color-mix(
            in srgb,
            var(--card-accent) 78%,
            transparent
        );

    box-shadow:
        0 0 9px
        color-mix(
            in srgb,
            var(--card-accent) 22%,
            transparent
        );
}


.map-card-action:disabled {

    opacity:
        .30;

    cursor:
        default;
}


/* =========================================================
   ФИЛТЕРИ — 2 КОЛОНЕ
   ========================================================= */

.map-filter-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        7px;
}


.card-objekti .map-filter-grid {

    grid-template-columns:
        1fr;
}


.map-filter:nth-child(odd):last-child {

    grid-column:
        1 / -1;
}


.map-filter {

    --filter-color:
        var(--card-accent);

    min-width:
        0;

    min-height:
        39px;

    box-sizing:
        border-box;

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    padding:
        7px 9px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--card-accent) 34%,
            transparent
        );

    border-radius:
        8px;

    background:
        rgba(255, 255, 255, .025);

    cursor:
        pointer;

    box-shadow:
        0 0 7px
        color-mix(
            in srgb,
            var(--card-accent) 10%,
            transparent
        );

    transition:
        .2s ease;
}


.map-filter:hover {

    background:
        color-mix(
            in srgb,
            var(--card-accent) 10%,
            transparent
        );

    border-color:
        color-mix(
            in srgb,
            var(--card-accent) 65%,
            transparent
        );

    box-shadow:
        0 0 10px
        color-mix(
            in srgb,
            var(--card-accent) 20%,
            transparent
        );
}


.map-filter:has(input:checked) {

    border-color:
        color-mix(
            in srgb,
            var(--card-accent) 62%,
            transparent
        );

    box-shadow:
        0 0 9px
        color-mix(
            in srgb,
            var(--card-accent) 17%,
            transparent
        ),
        inset 0 0 8px
        color-mix(
            in srgb,
            var(--card-accent) 5%,
            transparent
        );
}


.map-filter input {

    position:
        absolute;

    width:
        1px;

    height:
        1px;

    opacity:
        0;

    pointer-events:
        none;
}


.map-check {

    width:
        16px;

    height:
        16px;

    flex:
        0 0 16px;

    box-sizing:
        border-box;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--card-accent) 55%,
            transparent
        );

    border-radius:
        4px;

    background:
        rgba(11, 11, 15, .55);

    transition:
        .2s ease;
}


.map-filter input:checked + .map-check {

    background:
        var(--card-accent);

    border-color:
        var(--card-accent);

    box-shadow:
        0 0 8px
        color-mix(
            in srgb,
            var(--card-accent) 55%,
            transparent
        ),
        0 0 15px
        color-mix(
            in srgb,
            var(--card-accent) 22%,
            transparent
        );
}


.map-filter input:checked + .map-check::after {

    content:
        "";

    display:
        block;

    width:
        4px;

    height:
        8px;

    margin:
        2px auto 0;

    border:
        solid #0b0b0f;

    border-width:
        0 2px 2px 0;

    transform:
        rotate(45deg);
}


.map-filter-name {

    min-width:
        0;

    flex:
        1;

    overflow:
        hidden;

    white-space:
        nowrap;

    text-overflow:
        ellipsis;

    font-size:
        11px;

    color:
        var(--tekst);

    opacity:
        .88;
}


.map-filter-stat {

    flex:
        0 0 auto;

    font-size:
        9px;

    color:
        color-mix(
            in srgb,
            var(--card-accent) 88%,
            white
        );

    opacity:
        .78;

    white-space:
        nowrap;

    margin-left:
        auto;
}


.map-filter.disabled {

    opacity:
        .36;

    cursor:
        default;
}


/* =========================================================
   ПОЛИТИКА — БЕЛА ТЕМА
   ========================================================= */

.card-politika {

    --card-accent:
        var(--card-politika);

    background:
        rgba(255, 255, 255, .065);

    border-color:
        rgba(255, 255, 255, .32);

    box-shadow:
        0 0 11px rgba(255, 255, 255, .10),
        0 0 25px rgba(255, 255, 255, .05),
        inset 0 0 15px rgba(255, 255, 255, .035);
}


.card-politika .map-layer-card-title {

    color:
        #ffffff;
}


.card-politika .map-card-action {

    color:
        #eeeeee;
}


.card-politika .map-filter-name {

    color:
        #eeeeee;
}


.card-politika .map-filter-stat {

    color:
        #ffffff;
}


.card-politika .map-check {

    background:
        rgba(255, 255, 255, .04);
}


.card-politika .map-filter input:checked + .map-check::after {

    border-color:
        #0b0b0f;
}


/* =========================================================
   LEAFLET КОНТРОЛЕ
   ========================================================= */

.leaflet-top.leaflet-right {

    top:
        18px;

    right:
        18px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        10px;
}


.leaflet-top.leaflet-left {

    display:
        none;
}


.leaflet-control-zoom,
.leaflet-control-home,
.leaflet-control-fullscreen {

    float:
        none !important;

    margin:
        0 !important;
}


/* =========================================================
   ZOOM
   ========================================================= */

.leaflet-control-zoom {

    display:
        flex !important;

    flex-direction:
        row !important;

    width:
        84px !important;

    height:
        42px !important;

    gap:
        0 !important;

    border:
        none !important;

    box-shadow:
        none !important;

    overflow:
        visible !important;

    transform:
        translateY(0);

    transition:
        transform .2s ease;
}


.leaflet-control-zoom a {

    position:
        relative !important;

    width:
        42px !important;

    height:
        42px !important;

    min-width:
        42px !important;

    min-height:
        42px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    box-sizing:
        border-box !important;

    border:
        1px solid rgba(47, 169, 140, .38) !important;

    background-color:
        rgba(11, 11, 15, .72) !important;

    background-image:
        none !important;

    color:
        var(--tekst) !important;

    outline:
        none !important;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, .30),
        inset 0 0 15px rgba(35, 83, 71, .12) !important;

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    opacity:
        1 !important;

    cursor:
        pointer;

    font-size:
        21px !important;

    line-height:
        1 !important;

    text-decoration:
        none !important;

    transition:
        background-color .2s ease,
        border-color .2s ease;
}


.leaflet-control-zoom a:first-child {

    border-radius:
        10px 0 0 10px !important;

    border-right:
        none !important;

    font-size:
        25px !important;

    font-weight:
        300 !important;

    line-height:
        42px !important;

    text-align:
        center;

    text-indent:
        0 !important;
}


.leaflet-control-zoom a:last-child {

    border-radius:
        0 10px 10px 0 !important;

    font-size:
        27px !important;

    font-weight:
        300 !important;

    line-height:
        38px !important;

    text-align:
        center;

    text-indent:
        0 !important;
}


.leaflet-control-zoom:hover {

    transform:
        translateY(-2px);
}


.leaflet-control-zoom a:hover {

    background-color:
        rgba(35, 83, 71, .78) !important;

    border-color:
        rgba(47, 169, 140, .75) !important;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, .30),
        inset 0 0 15px rgba(35, 83, 71, .18) !important;

    transform:
        none !important;
}


/* =========================================================
   HOME / FULLSCREEN
   ========================================================= */

.leaflet-control-home a,
.leaflet-control-fullscreen a {

    width:
        42px !important;

    height:
        42px !important;

    min-width:
        42px !important;

    min-height:
        42px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    box-sizing:
        border-box !important;

    border:
        1px solid rgba(47, 169, 140, .38) !important;

    border-radius:
        10px !important;

    background-color:
        rgba(11, 11, 15, .72) !important;

    background-image:
        none !important;

    color:
        var(--tekst) !important;

    outline:
        none !important;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, .30),
        inset 0 0 15px rgba(35, 83, 71, .12) !important;

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    opacity:
        1 !important;

    cursor:
        pointer;

    font-size:
        21px !important;

    line-height:
        1 !important;

    text-decoration:
        none !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.leaflet-control-home a:hover,
.leaflet-control-fullscreen a:hover {

    background-color:
        rgba(35, 83, 71, .78) !important;

    border-color:
        rgba(47, 169, 140, .75) !important;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, .30),
        inset 0 0 15px rgba(35, 83, 71, .18) !important;

    transform:
        translateY(-2px);
}


.leaflet-control-zoom a:active,
.leaflet-control-home a:active,
.leaflet-control-fullscreen a:active {

    transform:
        translateY(0);
}


.leaflet-control-zoom a:focus,
.leaflet-control-home a:focus,
.leaflet-control-fullscreen a:focus {

    outline:
        none !important;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, .30),
        inset 0 0 15px rgba(35, 83, 71, .12) !important;
}


/* =========================================================
   СКАЛА
   ========================================================= */

.leaflet-control-scale {

    position:
        fixed !important;

    left:
        calc(
            var(--terminal-width-left) +
            (100% - var(--terminal-width) - var(--terminal-width-left)) / 2
        ) !important;

    bottom:
        18px !important;

    transform:
        translateX(-50%);

    margin:
        0 !important;

    z-index:
        1500;
}


.leaflet-control-scale-line {

    position:
        relative;

    min-width:
        180px;

    height:
        25px;

    box-sizing:
        border-box;

    padding:
        0 0 5px;

    border:
        none !important;

    background:
        transparent !important;

    color:
        var(--tekst) !important;

    font-size:
        12px;

    font-weight:
        500;

    text-align:
        center;

    text-shadow:
        0 0 7px rgba(47, 169, 140, .35);
}


.leaflet-control-scale-line::before {

    content:
        "";

    position:
        absolute;

    left:
        0;

    right:
        0;

    bottom:
        0;

    height:
        8px;

    border:
        1px solid rgba(47, 169, 140, .78);

    background:
        linear-gradient(
            to right,
            rgba(47, 169, 140, .80) 0%,
            rgba(47, 169, 140, .80) 25%,
            transparent 25%,
            transparent 50%,
            rgba(47, 169, 140, .80) 50%,
            rgba(47, 169, 140, .80) 75%,
            transparent 75%,
            transparent 100%
        );

    box-shadow:
        0 0 8px rgba(47, 169, 140, .24),
        0 0 17px rgba(47, 169, 140, .10);
}


/* =========================================================
   НАЗИВИ МЕСТА — GLASS ТЕКСТ БЕЗ ПОЗАДИНЕ
   ========================================================= */

.naziv-mesta {

    background:
        none;

    border:
        none;

    color:
        rgba(238, 232, 233, .90);

    font-size:
        14px;

    font-weight:
        600;

    white-space:
        nowrap;

    text-shadow:
        0 0 16px rgba(35, 83, 71, .65),
        0 0 12px rgba(35, 83, 71, .95),
        1px 1px 2px rgba(0, 0, 0, .80);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    :root {

        --terminal-width: 43%;
    }
}


@media (max-width: 850px) {

    :root {

        --terminal-width: 48%;
    }


    .map-page-header {

        padding:
            0 16px;
    }


    .map-page-place {

        display:
            none;
    }
}


@media (max-width: 768px) {

    :root {

        --header-height: 77px;
    }


    .map-page-header {

        height:
            64px;

        min-height:
            64px;

        padding:
            0 12px;
    }


    .map-page-header-title {

        font-size:
            16px;
    }


    .map-page-header-small {

        display:
            none;
    }


    .map-page-place {

        font-size:
            13px;

        display:
            flex;

        align-items:
            center;
    }


    .map-page-place img {

        height:
            calc(var(--header-height) - 10px);

        max-width:
            70px;
    }


    .map-page-back {

        width:
            36px;

        height:
            36px;

        flex:
            0 0 36px;
    }
}


@media (max-width: 650px) {

    :root {

        --terminal-width: 100%;
    }


    #mapa {

        width:
            100%;

        opacity:
            .22;
    }


    .map-terminal {

        width:
            100%;

        background:
            rgba(11, 11, 15, .82);
    }


    .map-terminal-scroll {

        padding-left:
            12px;

        padding-right:
            12px;
    }
}

/* =========================================================
   ГАЛЕРИЈА / 360° POPUP-И — ИЗНАД СВЕГА

   Ови overlay-и долазе из enciklopedijaStyle.css, где
   немају конкуренцију са панелима (z-index 2000 овде),
   па им подижемо z-index да увек буду навhr.
   ========================================================= */

.encyclopedia-gallery-overlay,
.encyclopedia-360-overlay,
.encyclopedia-360-viewer-overlay,
.encyclopedia-nav-overlay {

    z-index: 9000 !important;

}
