/* Schodex: živá mapa zastúpení. Farby webu: zelená #09967c (západ), oranžová #ff5a00 (východ). noGrey 2026. */
/* sekcia nad pätou (oblasť „mapa" v page.html.twig) */
.mapaWrapper {
    background: #f7f7f7;
    padding: 50px 0 40px;
}
.mapaWrapper .block-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #09967c;
    margin: 0 0 20px;
}
@media (max-width: 767px) {
    .mapaWrapper { padding: 32px 0 24px; }
    .mapaWrapper .block-title { font-size: 26px; }
}
.schodex-mapa {
    --mapa-zapad: #09967c;
    --mapa-vychod: #ff5a00;
    --mapa-text: #252525;
    display: flex;
    flex-wrap: wrap;
    gap: 24px 40px;
    align-items: center;
    margin: 0 0 20px;
}
.schodex-mapa__svg {
    position: relative;
    flex: 1 1 520px;
    min-width: 0;
}
.schodex-mapa__svg svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}
.schodex-mapa__legenda {
    flex: 0 0 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
    font-size: 14px;
    color: var(--mapa-text);
    margin: 0;
    padding: 0;
    list-style: none;
}
.schodex-mapa__legenda li::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    vertical-align: -2px;
    margin-right: 7px;
    background: var(--mapa-zapad);
}
.schodex-mapa__legenda li[data-oblast="vychod"]::before { background: var(--mapa-vychod); }

/* okresy */
.mapa-okres {
    stroke: rgba(255, 255, 255, .4);
    stroke-width: 0.7;
    stroke-linejoin: round;
    cursor: pointer;
    transition: fill .25s, opacity .25s;
}
.mapa-okres--zapad { fill: var(--mapa-zapad); }
.mapa-okres--vychod { fill: var(--mapa-vychod); }
.mapa-okres:hover { fill-opacity: .72; }
.mapa-kraj {
    fill: none;
    stroke: rgba(255, 255, 255, .6);
    stroke-width: 1.6;
    stroke-linejoin: round;
    pointer-events: none;
}
/* zvýraznenie oblasti pri prejdení na kontakt alebo po kliknutí */
.schodex-mapa[data-zvyraznene="zapad"] .mapa-okres--vychod,
.schodex-mapa[data-zvyraznene="vychod"] .mapa-okres--zapad { opacity: .28; }
.schodex-mapa[data-vybrane="zapad"]:not([data-zvyraznene]) .mapa-okres--vychod,
.schodex-mapa[data-vybrane="vychod"]:not([data-zvyraznene]) .mapa-okres--zapad { opacity: .45; }

/* mestá */
.mapa-mesto { cursor: pointer; }
.mapa-mesto__kruh { fill: #fff; fill-opacity: .35; }
.mapa-mesto__bod { fill: #fff; stroke: var(--mapa-text); stroke-width: 2; }
.mapa-mesto__nazov {
    font: 700 22px/1 'Montserrat', 'Fira Sans', sans-serif;
    fill: #fff;
    paint-order: stroke;
    stroke: rgba(0, 0, 0, .35);
    stroke-width: 4px;
    stroke-linejoin: round;
}

/* tooltip */
.mapa-tooltip {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    background: #fff;
    color: var(--mapa-text);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.35;
    opacity: 0;
    transition: opacity .15s;
    border-left: 4px solid var(--mapa-zapad);
    white-space: nowrap;
    z-index: 5;
}
.mapa-tooltip--vychod { border-left-color: var(--mapa-vychod); }
.mapa-tooltip.je-videt { opacity: 1; }
.mapa-tooltip strong, .mapa-tooltip span, .mapa-tooltip em { display: block; font-style: normal; }
.mapa-tooltip strong { font-size: 15px; }
.mapa-tooltip span { color: #666; }
.mapa-tooltip em { margin-top: 4px; font-weight: 500; }

/* kontakty */
.schodex-mapa__kontakty {
    flex: 1 1 280px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.mapa-kontakt {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .07);
    padding: 18px 22px 18px 26px;
    border-left: 6px solid var(--mapa-zapad);
    cursor: pointer;
    transition: transform .25s, box-shadow .25s;
    color: var(--mapa-text);
}
.mapa-kontakt[data-oblast="vychod"] { border-left-color: var(--mapa-vychod); }
.mapa-kontakt:hover, .mapa-kontakt.je-vybrany {
    transform: translateY(-3px);
    box-shadow: 0 24px 50px rgba(0, 0, 0, .14);
}
.mapa-kontakt h3 {
    margin: 0 0 4px;
    font: 700 13px/1.3 'Montserrat', 'Fira Sans', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mapa-zapad);
}
.mapa-kontakt[data-oblast="vychod"] h3 { color: var(--mapa-vychod); }
.mapa-kontakt__meno {
    display: block;
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 6px;
}
.mapa-kontakt p { margin: 0; line-height: 1.6; }
.mapa-kontakt a { color: var(--mapa-text); text-decoration: none; font-weight: 500; }
.mapa-kontakt a:hover { text-decoration: underline; }
.mapa-kontakt__mesto { font-size: 13px; color: #666; }

@media (max-width: 767px) {
    .schodex-mapa { gap: 18px; }
    .schodex-mapa__svg { flex-basis: 100%; }
    .mapa-mesto__nazov { font-size: 28px; }
    .mapa-tooltip { white-space: normal; max-width: 220px; }
    .mapa-kontakt { padding: 14px 16px 14px 20px; }
}
