.cs-map-app{position:relative;width:100%}.cs-map-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:.75rem}.cs-map-filters{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.cs-map-canvas{height:78vh;min-height:520px;border:1px solid var(--cs-border);border-radius:var(--cs-radius-lg);overflow:hidden;background:#dce6ef}.cs-div-icon{background:transparent!important;border:0!important}.cs-pin{position:relative;display:block;width:38px;height:38px;border:3px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--mood);box-shadow:0 4px 16px rgba(0,0,0,.35)}.cs-pin b{position:absolute;inset:8px;border-radius:50%;background:#fff}.cs-pin--pro{box-shadow:0 0 0 5px rgba(30,167,255,.25),0 5px 18px rgba(0,0,0,.4)}.cs-pin--ultimate{border-color:#f6cf58;box-shadow:0 0 0 5px rgba(246,207,88,.22),0 5px 20px rgba(0,0,0,.45)}.cs-pin.is-boosted{animation:cs-map-pulse 1.8s infinite}@keyframes cs-map-pulse{50%{box-shadow:0 0 0 12px rgba(30,167,255,0),0 5px 20px rgba(0,0,0,.45)}}.cs-map-img-icon img{object-fit:contain}.cs-cluster{display:grid;width:48px;height:48px;place-items:center;border:3px solid #fff;border-radius:50%;color:#fff;font-weight:900;box-shadow:0 5px 18px rgba(0,0,0,.35)}.cs-cluster--low{background:#2dbb68}.cs-cluster--medium{background:#f39c32}.cs-cluster--high{background:#eb4d4b;animation:cs-map-pulse 1.8s infinite}.cs-map-popup{display:grid;gap:.6rem;min-width:220px}.cs-map-popup p{margin:0}.cs-map-panel{
    position:absolute;
    top:50%;
    left:50%;
    z-index:700;
    width:min(760px,calc(100% - 32px));
    max-height:min(82vh,860px);
    overflow:auto;
    transform:translate(-50%,-50%);
    border:1px solid var(--cs-border);
    border-radius:var(--cs-radius-lg);
    background:var(--cs-surface);
    color:var(--cs-text);
    box-shadow:0 24px 80px rgba(0,0,0,.45)
}.cs-map-panel>header{position:sticky;top:0;z-index:2;display:flex;gap:.6rem;align-items:center;padding:1rem;border-bottom:1px solid var(--cs-border);background:var(--cs-surface)}.cs-map-panel>header h2{flex:1;margin:0}.cs-map-panel__body{padding:1rem}.cs-map-chat{display:grid;gap:.6rem;max-height:300px;overflow:auto;margin-top:1rem;padding:.7rem;border:1px solid var(--cs-border);border-radius:var(--cs-radius-md);background:var(--cs-surface-alt)}.cs-map-chat article{padding:.55rem;border-bottom:1px solid var(--cs-border)}.cs-map-chat article p{margin:.25rem 0}.cs-map-chat time{color:var(--cs-text-muted);font-size:.75rem}.cs-map-chat-form{display:grid;grid-template-columns:1fr auto;gap:.6rem;margin-top:.7rem}.cs-map-busiest{padding:1rem;border:1px solid var(--cs-border);border-radius:var(--cs-radius-md);background:var(--cs-surface)}body.cs-map-theme-winter .cs-map-canvas{background:#dcecf7}body.cs-map-theme-halloween .cs-map-canvas{background:#251b2d}body.cs-map-theme-pride .cs-cluster{background:linear-gradient(135deg,#e40303,#ff8c00,#ffed00,#008026,#004dff,#750787)}@media(max-width:700px){.cs-map-canvas{height:72vh;min-height:500px}.cs-map-panel{top:50%;left:50%;right:auto;bottom:auto;width:calc(100% - 16px);max-height:88vh;transform:translate(-50%,-50%)}.cs-map-chat-form{grid-template-columns:1fr}.cs-map-toolbar>.cs-button{flex:1}.cs-map-filters{width:100%}}

/* Map 1.0.2: markerin luontipolku ja paikkahaku */
.cs-map-create-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-bottom: .75rem;
    padding: .85rem 1rem;
    border: 1px solid color-mix(in srgb, var(--cs-primary) 65%, var(--cs-border));
    border-radius: var(--cs-radius-md);
    background: color-mix(in srgb, var(--cs-primary) 13%, var(--cs-surface));
}

.cs-map-create-banner[hidden] {
    display: none;
}

.cs-map-create-banner strong {
    color: var(--cs-text);
}

.cs-map-create-banner span {
    flex: 1;
    color: var(--cs-text-muted);
}

.cs-map-canvas.is-creating {
    outline: 3px solid color-mix(in srgb, var(--cs-primary) 55%, transparent);
    cursor: crosshair;
}

.cs-map-canvas.is-creating .leaflet-container,
.cs-map-canvas.is-creating .leaflet-interactive {
    cursor: crosshair !important;
}

.cs-map-search {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
    max-width: 620px;
    margin-bottom: .75rem;
}

.cs-map-search-results {
    position: absolute;
    top: calc(100% + .35rem);
    left: 0;
    right: 0;
    z-index: 1000;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--cs-border);
    border-radius: var(--cs-radius-md);
    background: var(--cs-surface);
    box-shadow: var(--cs-shadow);
}

.cs-map-search-results[hidden] {
    display: none;
}

.cs-map-search-results button {
    display: block;
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--cs-border);
    padding: .7rem .8rem;
    background: transparent;
    color: var(--cs-text);
    text-align: left;
    cursor: pointer;
}

.cs-map-search-results button:hover,
.cs-map-search-results button:focus-visible {
    background: var(--cs-surface-alt);
}

.cs-map-search-status {
    padding: .8rem;
    color: var(--cs-text-muted);
}

.cs-map-selected-location {
    padding: .65rem .75rem;
    border-radius: var(--cs-radius-sm);
    background: var(--cs-surface-alt);
    color: var(--cs-text-muted);
}

@media (max-width: 620px) {
    .cs-map-create-banner {
        align-items: stretch;
        flex-direction: column;
    }

    .cs-map-create-banner .cs-inline {
        width: 100%;
    }

    .cs-map-search {
        grid-template-columns: 1fr;
    }

    .cs-map-search .cs-button {
        width: 100%;
    }
}


/* Map 1.0.3: oman markerin hallinta */
.cs-map-owner-actions {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
    padding: .85rem;
    border: 1px solid var(--cs-border);
    border-radius: var(--cs-radius-md);
    background: var(--cs-surface-alt);
}

.cs-map-owner-actions strong {
    color: var(--cs-text);
}


/* Map 1.0.4: kausiteemat eivät suodata karttatiiliä */
body.cs-map-theme-winter .cs-map-toolbar,
body.cs-map-theme-winter .cs-map-create-banner {
    background: color-mix(in srgb, #bfe5ff 22%, var(--cs-surface));
}

body.cs-map-theme-summer .cs-map-toolbar,
body.cs-map-theme-summer .cs-map-create-banner {
    background: color-mix(in srgb, #f6df75 14%, var(--cs-surface));
}

body.cs-map-theme-halloween .cs-map-toolbar,
body.cs-map-theme-halloween .cs-map-create-banner {
    background: color-mix(in srgb, #f58a2a 12%, var(--cs-surface));
}




/* Map 1.0.7: kirkas OpenStreetMap ja täysleveä näkymä */
.cs-map-app {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    padding-inline: clamp(10px, 2vw, 28px);
    box-sizing: border-box;
}

.cs-map-canvas {
    width: 100%;
    max-width: none;
    height: min(82vh, 980px);
    min-height: 560px;
    border-radius: 0;
    background: #dce6ef;
}

.cs-map-toolbar,
.cs-map-create-banner,
.cs-map-search {
    width: 100%;
    max-width: none;
}

.cs-map-canvas .leaflet-control-zoom a {
    background: #fff;
    color: #222;
}

.cs-map-canvas .leaflet-control-attribution {
    background: rgba(255, 255, 255, .88);
    color: #333;
}

.cs-map-canvas .leaflet-popup-content-wrapper,
.cs-map-canvas .leaflet-popup-tip {
    background: #fff;
    color: #222;
}

.cs-map-canvas .leaflet-popup-close-button {
    color: #555;
}

@media (max-width: 700px) {
    .cs-map-app {
        padding-inline: 0;
    }

    .cs-map-toolbar,
    .cs-map-create-banner,
    .cs-map-search {
        padding-inline: 10px;
        box-sizing: border-box;
    }

    .cs-map-canvas {
        height: 76vh;
        min-height: 500px;
    }
}


/* Map 1.0.8: keskitetty keskustelupaneeli ja profiililinkki */
.cs-map-panel::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: rgba(0,0,0,.32);
    backdrop-filter: blur(2px);
}

.cs-map-profile-link {
    color: var(--cs-primary);
    text-decoration: none;
}

.cs-map-profile-link:hover,
.cs-map-profile-link:focus-visible {
    text-decoration: underline;
}


/* Map 1.2.0: fullscreen app shell + floating HUD */
html.cs-map-fullscreen-active,
body.cs-map-fullscreen-active{
    overflow:hidden!important;
}

.cs-map-app{
    --cs-map-ui-bg:rgba(18,18,22,.94);
    --cs-map-ui-text:#fff;
    --cs-map-ui-border:rgba(255,255,255,.16);
    --cs-map-ui-radius:14px;
    position:relative;
    left:50%;
    width:var(--cs-map-viewport-width,100vw);
    max-width:none;
    height:calc(100dvh - var(--cs-map-viewport-offset, 0px));
    min-height:520px;
    margin-left:calc(-1 * var(--cs-map-viewport-half-width,50vw));
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    isolation:isolate;
    background:#dce6ef;
}
.cs-map-canvas{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    height:100%!important;
    min-height:0;
    border:0;
    border-radius:0;
    outline:0;
}
.cs-map-floating-ui,
.cs-map-overlay-card,
.cs-map-panel{
    color:var(--cs-map-ui-text);
}
.cs-map-toolbar{
    position:absolute;
    z-index:800;
    top:16px;
    left:16px;
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    width:auto;
    max-width:calc(100% - 32px);
    margin:0;
    padding:7px;
    border:1px solid var(--cs-map-ui-border);
    border-radius:18px;
    background:var(--cs-map-ui-bg);
    box-shadow:0 12px 36px rgba(0,0,0,.28);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.cs-map-tool{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    margin:0;
    padding:8px 12px;
    border:1px solid transparent;
    border-radius:16px;
    background:transparent;
    color:var(--cs-map-ui-text);
    font:inherit;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.cs-map-tool:hover,
.cs-map-tool:focus-visible,
.cs-map-tool[aria-expanded="true"]{
    border-color:var(--cs-map-ui-border);
    background:rgba(255,255,255,.10);
}
.cs-map-tool:active{transform:translateY(1px)}
.cs-map-tool--primary{border-radius:18px;background:var(--cs-primary,#168cff);color:#fff}
.cs-map-tool--primary:hover,.cs-map-tool--primary:focus-visible{background:color-mix(in srgb,var(--cs-primary,#168cff) 86%,#fff 14%)}
.cs-map-tool__icon{font-size:1.25rem;line-height:1}
.cs-map-overlay-card{
    position:absolute;
    z-index:810;
    top:74px;
    left:16px;
    width:min(420px,calc(100% - 32px));
    margin:0;
    padding:12px;
    border:1px solid var(--cs-map-ui-border);
    border-radius:var(--cs-map-ui-radius);
    background:var(--cs-map-ui-bg);
    box-shadow:0 18px 48px rgba(0,0,0,.32);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-sizing:border-box;
}
.cs-map-overlay-card[hidden]{display:none!important}
.cs-map-overlay-card__header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cs-map-overlay-card__header strong{flex:1;color:var(--cs-map-ui-text)}
.cs-map-overlay-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--cs-map-ui-border);border-radius:9px;background:transparent;color:var(--cs-map-ui-text);font-size:1.25rem;cursor:pointer}
.cs-map-search{display:block;max-width:none}
.cs-map-search__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.cs-map-search-results{top:calc(100% + 8px);left:0;right:0;margin:0;border-color:var(--cs-map-ui-border);background:var(--cs-map-ui-bg);color:var(--cs-map-ui-text)}
.cs-map-search-results button{color:var(--cs-map-ui-text);border-color:var(--cs-map-ui-border)}
.cs-map-filter-panel{left:16px}
.cs-map-filters{display:grid;width:100%;gap:10px}
.cs-map-filters label{display:flex;align-items:center;gap:8px;color:var(--cs-map-ui-text)}
.cs-map-create-banner{
    top:16px;
    left:50%;
    width:min(680px,calc(100% - 32px));
    transform:translateX(-50%);
    align-items:center;
    gap:12px;
    margin:0;
    border-color:color-mix(in srgb,var(--cs-primary,#168cff) 60%,var(--cs-map-ui-border));
    background:color-mix(in srgb,var(--cs-primary,#168cff) 18%,var(--cs-map-ui-bg));
}
.cs-map-create-banner>div:first-child{display:grid;gap:3px;flex:1}
.cs-map-create-banner span{color:rgba(255,255,255,.78)}
.cs-map-panel{
    position:absolute;
    z-index:900;
    top:12px;
    bottom:12px;
    left:12px;
    right:auto;
    width:min(430px,calc(100% - 24px));
    max-height:none;
    overflow:auto;
    transform:none;
    border:1px solid var(--cs-map-ui-border);
    border-radius:var(--cs-map-ui-radius);
    background:var(--cs-map-ui-bg);
    color:var(--cs-map-ui-text);
    box-shadow:0 20px 64px rgba(0,0,0,.40);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
.cs-map-panel[hidden]{display:none!important}
.cs-map-panel::before{display:none!important}
.cs-map-panel>header{background:var(--cs-map-ui-bg);border-color:var(--cs-map-ui-border)}
.cs-map-panel__body{padding:1rem}
.cs-map-chat{max-height:38vh;border-color:var(--cs-map-ui-border);background:rgba(255,255,255,.05)}
.cs-map-chat article{border-color:var(--cs-map-ui-border)}
.cs-map-canvas .leaflet-control-attribution{
    margin:0 8px 8px 0!important;
    padding:3px 7px!important;
    border-radius:7px;
    background:rgba(255,255,255,.88);
    color:#333;
    font-size:10px;
    line-height:1.35;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.cs-map-canvas .leaflet-control-attribution a{color:#333;text-decoration:none}
.cs-map-canvas .leaflet-control-attribution a:hover{text-decoration:underline}
.cs-map-canvas .leaflet-control-zoom{margin-top:78px}

@media(max-width:700px){
    .cs-map-app{min-height:460px}
    .cs-map-toolbar{
        top:auto;
        bottom:max(12px,env(safe-area-inset-bottom));
        left:50%;
        width:calc(100% - 20px);
        max-width:520px;
        transform:translateX(-50%);
        justify-content:space-around;
        gap:4px;
        padding:6px;
    }
    .cs-map-tool{flex:1;flex-direction:column;gap:3px;min-width:0;min-height:50px;padding:5px 3px;font-size:.68rem}
    .cs-map-tool__icon{font-size:1.15rem}
    .cs-map-tool--primary .cs-map-tool__label{display:none}
    .cs-map-tool--primary{flex:0 0 44px}
    .cs-map-overlay-card{
        top:auto;
        bottom:calc(max(12px,env(safe-area-inset-bottom)) + 72px);
        left:10px;
        width:calc(100% - 20px);
        max-height:min(62dvh,560px);
        overflow:auto;
    }
    .cs-map-create-banner{top:10px;bottom:auto;left:10px;width:calc(100% - 20px);transform:none}
    .cs-map-create-banner .cs-inline{display:grid;grid-template-columns:1fr 1fr}
    .cs-map-panel{
        top:8px;
        bottom:8px;
        left:8px;
        width:calc(100% - 16px);
        border-radius:16px;
    }
    .cs-map-canvas .leaflet-control-zoom{margin-top:12px}
    .cs-map-canvas .leaflet-bottom{bottom:74px}
    .cs-map-search__row{grid-template-columns:1fr auto}
}
@media(max-width:430px){
    .cs-map-tool__label{font-size:.62rem}
    .cs-map-search__row{grid-template-columns:1fr}
    .cs-map-create-banner .cs-inline{grid-template-columns:1fr}
}


/* Map 1.2.4: kartan omat painiketilat voittavat teeman yleiset button/focus-tyylit. */
.cs-map-app [data-cs-map-toggle-search],
.cs-map-app [data-cs-map-toggle-filters]{
    outline:none;
    box-shadow:none;
    -webkit-appearance:none;
    appearance:none;
}
.cs-map-app [data-cs-map-toggle-search]:focus,
.cs-map-app [data-cs-map-toggle-filters]:focus{
    outline:none;
    box-shadow:none;
}
.cs-map-app .cs-map-search__row > button[data-cs-map-search-button]{
    border-radius:12px;
    -webkit-appearance:none;
    appearance:none;
}
.cs-map-app .cs-map-search__row > button[data-cs-map-search-button]:focus{
    outline:none;
    box-shadow:none;
}


/* Map 1.2.5: Notifications / Nyt tapahtuu -integraatio. */
.cs-map-activity-panel{left:16px;width:min(430px,calc(100% - 32px));max-height:min(70dvh,680px);overflow:auto}
.cs-map-activity-panel .cs-activity-feed{padding:0;border:0;border-radius:0;background:transparent}
.cs-map-activity-panel .cs-activity-feed__head h3{color:var(--cs-map-ui-text)}
.cs-map-activity-panel .cs-activity-item{border-color:var(--cs-map-ui-border);background:rgba(255,255,255,.05);color:var(--cs-map-ui-text)}
.cs-map-activity-panel .cs-activity-item:hover{border-color:var(--cs-primary,#1ea7ff)}
.cs-map-activity-panel .cs-activity-item__body span,
.cs-map-activity-panel .cs-activity-item small{color:color-mix(in srgb,var(--cs-map-ui-text) 70%,transparent)}
.cs-map-app [data-cs-map-toggle-activity]{outline:none;box-shadow:none;-webkit-appearance:none;appearance:none}
.cs-map-app [data-cs-map-toggle-activity]:focus{outline:none;box-shadow:none}
@media(max-width:700px){.cs-map-activity-panel{left:10px;width:calc(100% - 20px);max-height:min(62dvh,560px)}}


/* Map 1.3.0: Cruising Radar -integraatio */
.cs-map-radar-panel{
    left:16px;
    width:min(440px,calc(100% - 32px));
    max-height:min(72dvh,720px);
    overflow:auto;
}
.cs-map-radar-intro{margin:0 0 12px;color:color-mix(in srgb,var(--cs-map-ui-text) 72%,transparent);line-height:1.45}
.cs-map-radar-limitline{padding:9px 10px;margin-bottom:8px;border-radius:10px;background:rgba(255,255,255,.06);color:color-mix(in srgb,var(--cs-map-ui-text) 72%,transparent);font-size:.88rem}
.cs-map-radar-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--cs-map-ui-border)}
.cs-map-radar-row:last-child{border-bottom:0}
.cs-map-radar-row strong{display:block;color:var(--cs-map-ui-text)}
.cs-map-radar-row small{display:block;margin-top:3px;color:color-mix(in srgb,var(--cs-map-ui-text) 62%,transparent)}
.cs-map-radar-row__actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.cs-map-radar-row__actions .cs-button{min-height:34px;padding:6px 9px}
.cs-map-radar-empty,.cs-map-radar-loading{padding:14px 0;color:color-mix(in srgb,var(--cs-map-ui-text) 65%,transparent)}
.cs-map-radar-create{width:100%;margin-top:12px}
.cs-map-radar-create:disabled{opacity:.45;cursor:not-allowed}
.cs-map-radar-banner{
    top:16px;left:50%;width:min(680px,calc(100% - 32px));transform:translateX(-50%);
    display:flex;align-items:center;gap:12px;border-color:rgba(255,23,68,.55);
    background:color-mix(in srgb,#ff1744 16%,var(--cs-map-ui-bg));
}
.cs-map-radar-banner>div{display:grid;gap:3px;flex:1}
.cs-map-radar-banner span{color:color-mix(in srgb,var(--cs-map-ui-text) 72%,transparent)}
.cs-map-canvas.is-radar-creating{cursor:crosshair}
.cs-map-canvas.is-radar-creating::after{content:"📡";position:absolute;z-index:500;right:18px;bottom:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,23,68,.90);font-size:20px;box-shadow:0 0 0 8px rgba(255,23,68,.12);pointer-events:none}
.cs-radar-map-divicon{background:transparent!important;border:0!important}
.cs-radar-map-center{position:relative;display:grid;place-items:center;width:38px;height:38px;border:2px solid rgba(255,255,255,.78);border-radius:50%;background:rgba(16,18,24,.92);box-shadow:0 6px 22px rgba(0,0,0,.38)}
.cs-radar-map-center.is-active{border-color:#ff1744;background:rgba(255,23,68,.92);animation:csMapRadarCenter 2s ease-in-out infinite}
.cs-radar-map-center.is-active::before,.cs-radar-map-center.is-active::after{content:"";position:absolute;inset:-2px;border:2px solid rgba(255,23,68,.55);border-radius:50%;animation:csMapRadarRing 2.2s ease-out infinite}
.cs-radar-map-center.is-active::after{animation-delay:1.1s}
.cs-radar-map-center span{position:relative;z-index:2;font-size:17px}
.cs-radar-map-circle.is-active{animation:csMapRadarCircle 3.2s ease-in-out infinite}
.cs-map-radar-events{display:grid;gap:8px;padding:10px 0}
.cs-map-radar-events label{display:flex;align-items:center;gap:8px}
[data-cs-radar-radius]{width:100%;accent-color:#ff1744}
@keyframes csMapRadarRing{0%{transform:scale(1);opacity:.85}100%{transform:scale(2.15);opacity:0}}
@keyframes csMapRadarCenter{50%{box-shadow:0 6px 22px rgba(0,0,0,.38),0 0 22px rgba(255,23,68,.38)}}
@keyframes csMapRadarCircle{50%{stroke-opacity:.55;fill-opacity:.065}}

@media(max-width:700px){
    .cs-map-radar-panel{left:10px;width:calc(100% - 20px);max-height:min(62dvh,560px)}
    .cs-map-radar-banner{top:10px;bottom:auto;left:10px;width:calc(100% - 20px);transform:none}
    .cs-map-radar-row{align-items:flex-start;flex-direction:column}
    .cs-map-radar-row__actions{width:100%}
    .cs-map-radar-row__actions .cs-button:not(.cs-button--ghost){flex:1}
}


/* Map 1.3.1: Radar-paneelin sulkupainikkeen × keskitys. */
.cs-map-radar-panel .cs-map-overlay-close{
    position:relative;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    line-height:1!important;
    text-indent:-9999px;
    overflow:hidden;
}
.cs-map-radar-panel .cs-map-overlay-close::before{
    content:"×";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    text-indent:0;
    font-family:Arial,sans-serif;
    font-size:20px;
    font-weight:400;
    line-height:1;
    transform:translateY(-1px);
}

/* Map 1.4.1: Free Radar cooldown poistamisen jälkeen */
.cs-map-radar-cooldown{margin:8px 0 10px;padding:10px 12px;border:1px solid rgba(255,23,68,.35);border-radius:8px;background:rgba(255,23,68,.08);display:flex;flex-direction:column;gap:3px;}
.cs-map-radar-cooldown strong{color:#ff4166;font-size:12px;}
.cs-map-radar-cooldown span{font-size:11px;color:rgba(255,255,255,.78);}
.cs-map-radar-create:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.45);}

.cs-cluster--image{background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;background-color:transparent!important}.cs-cluster--image span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}


/* Map 1.4.5: chat usernames link directly to the public profile. */
.cs-map-chat__profile-link{display:inline-flex;align-items:center;max-width:100%;font-weight:700}
.cs-map-chat__profile-link strong{overflow-wrap:anywhere}


/* Map 1.5.0: marker author hierarchy, favorites and arrival intent */
.cs-map-marker-author{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.25rem 0 .65rem}
.cs-map-marker-author .cs-map-profile-link{font-size:1rem}
.cs-map-marker-author .cs-badge{display:inline-flex}
.cs-map-marker-mood{color:var(--cs-text-muted);font-size:.86rem}
.cs-button[data-react="favorite"].is-active{border-color:var(--cs-primary);color:var(--cs-primary)}
.cs-map-favorites-panel{max-height:min(62vh,560px);overflow:auto}
.cs-map-favorite-item{display:flex;width:100%;flex-direction:column;gap:.2rem;padding:.75rem .85rem;border:0;border-bottom:1px solid var(--cs-map-ui-border);background:transparent;color:var(--cs-map-ui-text);text-align:left;cursor:pointer}
.cs-map-favorite-item:hover,.cs-map-favorite-item:focus-visible{background:rgba(255,255,255,.07);outline:none}
.cs-map-favorite-item span{font-size:.78rem;color:rgba(255,255,255,.65)}


/* Map 1.5.1: clearer marker details and compact chat composer */
.cs-map-panel>header{justify-content:flex-end;padding:.55rem .7rem}
.cs-map-panel>header [data-close-panel]{margin-left:auto}
.cs-map-marker-title{margin:0 0 .35rem;font-size:1.15rem;line-height:1.2}
.cs-map-marker-description{margin:.1rem 0 .75rem}
.cs-map-marker-author{display:grid;gap:.25rem;margin:.25rem 0 .65rem}
.cs-map-marker-author__identity{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.cs-map-marker-mood{display:block;color:var(--cs-text-muted);font-size:.86rem}
.cs-map-marker-mood strong{color:inherit;font-weight:600}
.cs-map-chat-form{align-items:end}
.cs-map-chat-form .cs-textarea{min-height:76px}
.cs-map-chat-submit{align-self:end;height:auto;min-height:0;padding:.65rem 1rem;background:#ff1744!important;border-color:#ff1744!important;color:#fff!important}
.cs-map-chat-submit:hover,.cs-map-chat-submit:focus-visible{background:#d90f35!important;border-color:#d90f35!important;color:#fff!important}

/* Map 1.5.2: chat scrollbar follows the dark CruisingSuomi UI and can be tuned from Elementor. */
.cs-map-chat{scrollbar-width:thin;scrollbar-color:var(--cs-map-chat-scroll-thumb,#3a3f4b) var(--cs-map-chat-scroll-track,rgba(255,255,255,.045))}
.cs-map-chat::-webkit-scrollbar{width:9px;height:9px}
.cs-map-chat::-webkit-scrollbar-track{background:var(--cs-map-chat-scroll-track,rgba(255,255,255,.045));border-radius:999px}
.cs-map-chat::-webkit-scrollbar-thumb{background:var(--cs-map-chat-scroll-thumb,#3a3f4b);border:2px solid var(--cs-map-chat-scroll-track,rgba(255,255,255,.045));border-radius:999px}
.cs-map-chat::-webkit-scrollbar-thumb:hover{background:var(--cs-map-chat-scroll-thumb-hover,#ff1744)}

.cs-map-tool[data-cs-map-toggle-move].is-active,.cs-map-tool[data-cs-map-toggle-move][aria-pressed="true"]{border-color:rgba(72,213,117,.72);background:rgba(72,213,117,.16);color:#fff}.cs-move-map-divicon{background:transparent!important;border:0!important}.cs-move-map-marker{position:relative;display:grid;place-items:center;width:48px;height:48px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:rgba(24,177,76,.94);color:#fff;box-shadow:0 6px 22px rgba(0,0,0,.35);font-weight:800}.cs-move-map-marker::before,.cs-move-map-marker::after{content:"";position:absolute;inset:-3px;border:2px solid rgba(72,213,117,.5);border-radius:50%;animation:csMoveMapPulse 2.4s ease-out infinite}.cs-move-map-marker::after{animation-delay:1.2s}.cs-move-map-marker__dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#baffc8;box-shadow:0 0 8px rgba(186,255,200,.9)}@keyframes csMoveMapPulse{0%{transform:scale(.88);opacity:.7}100%{transform:scale(1.5);opacity:0}}.cs-move-map-popup{display:grid;gap:10px;min-width:270px;max-width:340px}.cs-move-map-popup__head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.12)}.cs-move-map-popup__head span{font-size:.82rem;opacity:.7}.cs-move-map-users{display:grid;gap:6px;max-height:310px;overflow:auto}.cs-move-map-user{display:flex;align-items:center;gap:9px;padding:6px;border-radius:8px;text-decoration:none!important;color:inherit!important}.cs-move-map-user:hover{background:rgba(0,0,0,.05)}.cs-move-map-user img{width:42px;height:42px;border-radius:50%;object-fit:cover}.cs-move-map-user>span{display:grid;gap:1px;min-width:0}.cs-move-map-user small{opacity:.72}.cs-move-map-user em{font-size:.78rem;opacity:.82;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-move-map-more{padding-top:5px;text-align:center;font-size:.82rem;opacity:.72}

/* Tänään liikkeellä: pysyvät kaupunkimarkerit */
.cs-move-map-marker.is-empty{background:rgba(30,92,50,.78);border-color:rgba(255,255,255,.68);box-shadow:0 4px 14px rgba(0,0,0,.28);opacity:.82}
.cs-move-map-marker.is-empty::before,.cs-move-map-marker.is-empty::after{display:none}
.cs-move-map-marker.is-empty .cs-move-map-marker__dot{background:#789b82;box-shadow:none}
.cs-move-map-marker.is-active{background:rgba(24,177,76,.94)}
.cs-move-map-marker.is-medium{background:rgba(35,200,88,.98);box-shadow:0 6px 24px rgba(35,200,88,.25),0 6px 22px rgba(0,0,0,.35)}
.cs-move-map-marker.is-high{background:rgba(45,220,96,1);box-shadow:0 0 0 4px rgba(72,213,117,.13),0 8px 30px rgba(35,220,90,.36),0 6px 22px rgba(0,0,0,.38)}
.cs-move-map-popup--empty p{margin:4px 0 2px;opacity:.76}
.cs-move-map-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:4px;padding:9px 12px;border-radius:8px;background:#ef233c;color:#fff!important;text-decoration:none!important;font-weight:700}
.cs-move-map-cta:hover{filter:brightness(.86)}
.cs-map-weather{display:grid;gap:4px;margin:10px 0;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.035);font-size:.86rem}.cs-map-weather strong{color:#fff}.cs-map-weather span{display:block}.cs-map-weather small{opacity:.62}.cs-map-weather__forecast{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.cs-map-weather__forecast span{padding:4px 7px;border-radius:6px;background:rgba(255,255,255,.05);font-size:.78rem}


/* Tänään liikkeellä: tumma popup-tyyli.
   Rajattu tarkoituksella vain Liikkeellä-kaupunkimarkereihin. */
.cs-map-canvas .cs-move-leaflet-popup .leaflet-popup-content-wrapper,
.cs-map-canvas .cs-move-leaflet-popup .leaflet-popup-tip {
    background: #111217;
    color: #f5f6f8;
}

.cs-map-canvas .cs-move-leaflet-popup .leaflet-popup-content-wrapper {
    border: 1px solid #292c35;
    border-radius: 12px;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .48);
}

.cs-map-canvas .cs-move-leaflet-popup .leaflet-popup-content {
    margin: 14px 16px;
    color: #f5f6f8;
}

.cs-map-canvas .cs-move-leaflet-popup .leaflet-popup-close-button {
    color: #aeb2bd;
}

.cs-map-canvas .cs-move-leaflet-popup .leaflet-popup-close-button:hover,
.cs-map-canvas .cs-move-leaflet-popup .leaflet-popup-close-button:focus {
    color: #ff304f;
}

.cs-move-leaflet-popup .cs-move-map-popup__head {
    border-bottom-color: #292c35;
}

.cs-move-leaflet-popup .cs-move-map-popup__head strong {
    color: #fff;
}

.cs-move-leaflet-popup .cs-move-map-popup__head span,
.cs-move-leaflet-popup .cs-move-map-user small,
.cs-move-leaflet-popup .cs-move-map-user em,
.cs-move-leaflet-popup .cs-move-map-more,
.cs-move-leaflet-popup .cs-move-map-popup--empty p {
    color: #aeb2bd;
    opacity: 1;
}

.cs-move-leaflet-popup .cs-move-map-user {
    color: #f5f6f8 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
    border-radius: 8px;
    transition: background-color .16s ease, color .16s ease;
}

.cs-move-leaflet-popup .cs-move-map-user:last-child {
    border-bottom: 0;
}

.cs-move-leaflet-popup .cs-move-map-user:hover,
.cs-move-leaflet-popup .cs-move-map-user:focus {
    background: rgba(255, 255, 255, .055);
    color: #fff !important;
}

.cs-move-leaflet-popup .cs-move-map-user strong {
    color: #fff;
}

.cs-move-leaflet-popup .cs-move-map-users {
    scrollbar-width: thin;
    scrollbar-color: #454a57 #17191f;
}

.cs-move-leaflet-popup .cs-move-map-users::-webkit-scrollbar {
    width: 8px;
}

.cs-move-leaflet-popup .cs-move-map-users::-webkit-scrollbar-track {
    background: #17191f;
    border-radius: 8px;
}

.cs-move-leaflet-popup .cs-move-map-users::-webkit-scrollbar-thumb {
    background: #454a57;
    border-radius: 8px;
    border: 2px solid #17191f;
}

.cs-move-leaflet-popup .cs-move-map-users::-webkit-scrollbar-thumb:hover {
    background: #5c6270;
}

.cs-move-leaflet-popup .cs-map-weather {
    color: #f5f6f8;
}

.cs-move-leaflet-popup .cs-map-weather a {
    color: #ff304f;
}


/* Map 1.7.5: Nyt tapahtuu -virran sijainnin selkeytys + Ultimate-kehys. */
.cs-map-activity-panel .cs-activity-item__body{
    min-width:0;
}
.cs-map-activity-panel .cs-map-activity-location{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:2px;
    color:var(--cs-map-ui-text);
    font-size:.78rem;
    font-weight:800;
    line-height:1.25;
}
.cs-map-activity-panel .cs-map-activity-location::before{
    content:"📍";
    font-size:.92em;
    line-height:1;
}
.cs-map-activity-panel .cs-activity-item small{
    margin-top:2px;
    font-size:.72rem;
}
.cs-map-activity-panel .cs-activity-item.is-ultimate{
    border-color:var(--cs-warning,#e7a51a)!important;
}
.cs-map-activity-panel .cs-activity-item.is-ultimate:hover{
    border-color:var(--cs-warning,#e7a51a)!important;
}


/* Map 1.7.6: markerin tekijän Ultimate-badge yhtenäiseksi Nyt tapahtuu -osion kanssa. */
.cs-map-marker-detail .cs-tier-badge--ultimate,
.cs-map-marker-detail .cs-membership-badge--ultimate,
.cs-map-marker-detail .cs-badge--ultimate,
.cs-map-sidebar .cs-tier-badge--ultimate,
.cs-map-sidebar .cs-membership-badge--ultimate,
.cs-map-sidebar .cs-badge--ultimate {
    background: var(--cs-warning, #e7a51a) !important;
    border-color: var(--cs-warning, #e7a51a) !important;
    color: #111217 !important;
}


/* Map 1.7.7: oikea selector normaalin karttamerkin tekijän Ultimate-badgelle. */
.cs-map-panel .cs-map-marker-author .cs-badge.cs-badge--ultimate {
    background: var(--cs-warning, #e7a51a) !important;
    border-color: var(--cs-warning, #e7a51a) !important;
    color: #111217 !important;
}


/* Map 1.7.8: kompaktimpi normaalin karttamerkin sivupaneeli. */
.cs-map-panel .cs-map-marker-title {
    font-size: .94rem !important;
    line-height: 1.18 !important;
    margin-bottom: .3rem !important;
    overflow-wrap: anywhere;
}

.cs-map-panel .cs-map-marker-author .cs-map-profile-link {
    font-size: .84rem !important;
    line-height: 1.2 !important;
}

.cs-map-panel .cs-map-marker-author .cs-badge {
    font-size: .56rem !important;
    line-height: 1 !important;
    padding: .18rem .34rem !important;
    min-height: 0 !important;
    border-radius: 999px !important;
    letter-spacing: .02em !important;
}


/* Map 1.8.1: markerin läsnäolotieto tekijän alle. */
.cs-map-panel .cs-map-marker-presence {
    display: block;
    margin-top: .05rem;
    font-size: .76rem;
    line-height: 1.3;
    font-weight: 600;
    color: var(--cs-text-muted);
}
.cs-map-panel .cs-map-marker-presence.is-present {
    color: #d8f7d5;
}

/* Map 1.8.1: Luo karttamerkki -popupin toimintopainikkeet. */
[data-cs-marker-modal] [data-cs-marker-form] .cs-inline .cs-button {
    background: transparent !important;
    border: 1px solid #ff1238 !important;
    color: #fff !important;
    box-shadow: none !important;
}
[data-cs-marker-modal] [data-cs-marker-form] .cs-inline .cs-button:hover,
[data-cs-marker-modal] [data-cs-marker-form] .cs-inline .cs-button:focus-visible {
    background: #ff1238 !important;
    border-color: #ff1238 !important;
    color: #fff !important;
}


/* Map 1.8.3: profiilikuva karttamerkin avoimessa keskustelussa. */
.cs-map-chat__author {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
}
.cs-map-chat__avatar {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.16);
    background: var(--cs-map-ui-surface, #17191f);
}
.cs-map-chat__author .cs-map-chat__profile-link {
    min-width: 0;
}

/* Map 1.8.3: markerin kolme päätoimintoa säilyttävät nykyisen oletustyylin,
   mutta hover/focus saa kirkkaanpunaisen täytön ja valkoisen tekstin. */
.cs-map-panel [data-react="like"]:hover,
.cs-map-panel [data-react="like"]:focus-visible,
.cs-map-panel [data-cs-arrival-intent]:hover,
.cs-map-panel [data-cs-arrival-intent]:focus-visible,
.cs-map-panel [data-react="favorite"]:hover,
.cs-map-panel [data-react="favorite"]:focus-visible {
    background: #ff1744 !important;
    border-color: #ff1744 !important;
    color: #fff !important;
}


/* Map 1.8.4: oman markerin hallinnan hoverit. */
.cs-map-owner-actions [data-owner-edit]:hover,
.cs-map-owner-actions [data-owner-edit]:focus-visible,
.cs-map-owner-actions [data-owner-presence]:hover,
.cs-map-owner-actions [data-owner-presence]:focus-visible,
.cs-map-owner-actions [data-owner-boost]:hover,
.cs-map-owner-actions [data-owner-boost]:focus-visible {
    background: #ff1744 !important;
    border-color: #ff1744 !important;
    color: #fff !important;
}

/* Poista karttamerkki on jo oletuksena punainen. Hoverissa vain hieman tummempi punainen. */
.cs-map-owner-actions [data-owner-delete]:hover,
.cs-map-owner-actions [data-owner-delete]:focus-visible {
    background: #d91036 !important;
    border-color: #d91036 !important;
    color: #fff !important;
}

/* Avatun karttamerkin oikean yläkulman sulkupainike. */
.cs-map-panel [data-close-panel]:hover,
.cs-map-panel [data-close-panel]:focus-visible {
    background: #ff1744 !important;
    border-color: #ff1744 !important;
    color: #fff !important;
}


/* Map 1.8.6: Nyt tapahtuu -paneelin vierityspalkki samaan tummaan tyyliin
   kuin karttamerkin keskustelussa. */
.cs-map-activity-panel,
.cs-map-activity-panel [data-cs-map-activity-list] {
    scrollbar-width: thin;
    scrollbar-color: #454a57 #17191f;
}

.cs-map-activity-panel::-webkit-scrollbar,
.cs-map-activity-panel [data-cs-map-activity-list]::-webkit-scrollbar {
    width: 8px;
}

.cs-map-activity-panel::-webkit-scrollbar-track,
.cs-map-activity-panel [data-cs-map-activity-list]::-webkit-scrollbar-track {
    background: #17191f;
    border-radius: 8px;
}

.cs-map-activity-panel::-webkit-scrollbar-thumb,
.cs-map-activity-panel [data-cs-map-activity-list]::-webkit-scrollbar-thumb {
    background: #454a57;
    border-radius: 8px;
    border: 2px solid #17191f;
}

.cs-map-activity-panel::-webkit-scrollbar-thumb:hover,
.cs-map-activity-panel [data-cs-map-activity-list]::-webkit-scrollbar-thumb:hover {
    background: #5c6270;
}

/* Map 1.8.6: yläpalkin painikkeiden focus/pressed-tausta pidetään tummana.
   Varsinainen aktiivisen toiminnon oma korostusväri säilyy erikseen. */
.cs-map-toolbar .cs-button:focus,
.cs-map-toolbar .cs-button:focus-visible,
.cs-map-toolbar .cs-button:active,
.cs-map-toolbar button:focus,
.cs-map-toolbar button:focus-visible,
.cs-map-toolbar button:active,
.cs-map-topbar .cs-button:focus,
.cs-map-topbar .cs-button:focus-visible,
.cs-map-topbar .cs-button:active,
.cs-map-topbar button:focus,
.cs-map-topbar button:focus-visible,
.cs-map-topbar button:active {
    background-color: #111217 !important;
    box-shadow: none !important;
    outline-color: transparent !important;
}

/* Jos painike on oikeasti valittu/aktiivinen, pidetään sen nykyinen aktiiviväri,
   mutta poistetaan klikkauksen jälkeinen ylimääräinen focus-tausta. */
.cs-map-toolbar .cs-button.is-active:focus,
.cs-map-toolbar .cs-button.is-active:focus-visible,
.cs-map-topbar .cs-button.is-active:focus,
.cs-map-topbar .cs-button.is-active:focus-visible,
.cs-map-toolbar button[aria-pressed="true"]:focus,
.cs-map-toolbar button[aria-pressed="true"]:focus-visible,
.cs-map-topbar button[aria-pressed="true"]:focus,
.cs-map-topbar button[aria-pressed="true"]:focus-visible {
    box-shadow: none !important;
    outline-color: transparent !important;
}


/* Map 1.8.8: karttamerkin muokkausikkuna. */
.cs-map-edit-note {
    margin: 0;
    font-size: .78rem;
    line-height: 1.4;
    color: var(--cs-text-muted, #aeb2bd);
}


/* Map 1.9.0: markerin reaaliaikainen Paikalla nyt -lista. */
.cs-map-live-presence {
    margin: .5rem 0 .65rem;
    padding: .55rem .6rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px;
    background: rgba(255,255,255,.025);
}
.cs-map-live-presence__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .35rem;
    font-size: .78rem;
}
.cs-map-live-presence__head span {
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #2dbb68;
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
}
.cs-map-live-presence__list {
    display: grid;
    gap: .22rem;
}
.cs-map-live-presence__user {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .28rem .3rem;
    border-radius: 7px;
    color: #fff;
    text-decoration: none;
}
.cs-map-live-presence__user:hover {
    background: rgba(255,255,255,.055);
    color: #fff;
}
.cs-map-live-presence__user img {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.15);
}
.cs-map-live-presence__user span {
    display: grid;
    min-width: 0;
}
.cs-map-live-presence__user strong {
    font-size: .76rem;
    line-height: 1.15;
}
.cs-map-live-presence__user small,
.cs-map-live-presence__empty {
    color: var(--cs-text-muted,#aeb2bd);
    font-size: .68rem;
    line-height: 1.25;
}
.cs-map-live-presence__empty {
    margin: 0;
}
.cs-map-panel [data-cs-now-present]:hover,
.cs-map-panel [data-cs-now-present]:focus-visible {
    background: #ff1744 !important;
    border-color: #ff1744 !important;
    color: #fff !important;
}


/* Map 1.9.1: Tulossa paikalle -lista käyttää samaa rakennetta kuin Paikalla nyt. */
.cs-map-arrivals {
    margin-top: -.3rem;
}
.cs-map-arrivals .cs-map-live-presence__head span {
    background: #f39c32;
}


/* v1.9.3: Avatun karttamerkin ulompi vierityspalkki samaan tyyliin keskustelun kanssa.
   Rajaus koskee vain marker-paneelin varsinaista scrollaavaa sisältöä. */
.cs-map-panel .cs-map-marker-panel,
.cs-map-panel .cs-map-marker-detail,
.cs-map-panel .cs-map-marker-content {
    scrollbar-width: thin;
    scrollbar-color: #4a4d52 #1a1c20;
}

.cs-map-panel .cs-map-marker-panel::-webkit-scrollbar,
.cs-map-panel .cs-map-marker-detail::-webkit-scrollbar,
.cs-map-panel .cs-map-marker-content::-webkit-scrollbar {
    width: 7px;
}

.cs-map-panel .cs-map-marker-panel::-webkit-scrollbar-track,
.cs-map-panel .cs-map-marker-detail::-webkit-scrollbar-track,
.cs-map-panel .cs-map-marker-content::-webkit-scrollbar-track {
    background: #1a1c20;
    border-radius: 999px;
}

.cs-map-panel .cs-map-marker-panel::-webkit-scrollbar-thumb,
.cs-map-panel .cs-map-marker-detail::-webkit-scrollbar-thumb,
.cs-map-panel .cs-map-marker-content::-webkit-scrollbar-thumb {
    background: #4a4d52;
    border-radius: 999px;
}

.cs-map-panel .cs-map-marker-panel::-webkit-scrollbar-thumb:hover,
.cs-map-panel .cs-map-marker-detail::-webkit-scrollbar-thumb:hover,
.cs-map-panel .cs-map-marker-content::-webkit-scrollbar-thumb:hover {
    background: #62666d;
}

.cs-map-report-link{
  margin-left:10px;
  border:1px solid transparent;
  border-radius:5px;
  background:transparent;
  padding:3px 7px;
  color:#8b8f98;
  font-size:10px;
  font-weight:700;
  line-height:1.15;
  cursor:pointer;
  text-decoration:none;
  transition:border-color .16s ease,color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
.cs-map-report-link:hover,
.cs-map-report-link:focus-visible,
.cs-map-report-link:active,
.cs-map-report-link.is-active{
  border-color:#ff1744;
  color:#fff;
  background:rgba(255,23,68,.08);
  box-shadow:0 0 0 1px rgba(255,23,68,.14),0 0 12px rgba(255,23,68,.12);
  outline:none;
}
.cs-map-report-link.is-reported,
.cs-map-report-link:disabled{
  border-color:transparent;
  color:#8b8f98;
  background:transparent;
  box-shadow:none;
  cursor:default;
  opacity:.72;
}

.cs-map-report-options{
  display:grid;
  gap:8px;
}
.cs-map-report-option{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:10px;
  padding:10px 11px;
  border:1px solid var(--cs-border);
  border-radius:9px;
  background:var(--cs-surface-alt);
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease;
}
.cs-map-report-option:hover{
  border-color:rgba(255,23,68,.72);
}
.cs-map-report-option:has(input:checked){
  border-color:#ff1744;
  background:rgba(255,23,68,.08);
  box-shadow:0 0 0 1px rgba(255,23,68,.10);
}
.cs-map-report-option input{
  margin-top:3px;
  accent-color:#ff1744;
}
.cs-map-report-option span{
  display:grid;
  gap:3px;
}
.cs-map-report-option strong{
  color:var(--cs-text);
  font-size:.88rem;
}
.cs-map-report-option small{
  color:var(--cs-text-muted);
  font-size:.74rem;
  line-height:1.35;
}

.cs-map-chat__user-name{border:0;background:transparent;color:inherit;padding:0;margin:0;cursor:pointer;font:inherit;text-align:left}
.cs-map-chat__user-name:hover strong,.cs-map-chat__user-name:focus-visible strong{color:#ff1744}.cs-map-chat__user-name:focus-visible{outline:none}
button.cs-map-live-presence__user{width:100%;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
button.cs-map-live-presence__user:hover strong{color:#ff1744}
.cs-map-user-modal__dialog{max-width:430px}.cs-map-user-modal__head{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px}.cs-map-user-modal__head h2{margin:0}.cs-map-user-modal__head small{display:block;margin-top:3px;color:var(--cs-text-muted);font-size:10px;font-weight:800;letter-spacing:.08em}.cs-map-user-modal__avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--cs-surface-alt);color:#fff;font-size:20px;font-weight:900}.cs-map-user-modal__actions{display:grid;gap:8px}.cs-map-user-modal__actions .cs-button{width:100%;justify-content:center}.cs-map-user-report-button{border:1px solid transparent;background:transparent;color:#8b8f98}.cs-map-user-report-button:hover,.cs-map-user-report-button:focus-visible{border-color:#ff1744;color:#fff;background:rgba(255,23,68,.08);outline:none}


/* v1.9.8: käyttäjänimi on teksti/linkki, ei visuaalinen painike */
.cs-map-chat__user-name{
  appearance:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  color:inherit!important;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.cs-map-chat__user-name strong{
  color:inherit;
  transition:color .14s ease;
}
.cs-map-chat__user-name:hover strong,
.cs-map-chat__user-name:focus-visible strong{
  color:#ff1744!important;
}
.cs-map-chat__user-name:focus-visible{outline:none!important}

/* Paikalla/Tulossa-riveillä koko rivi säilyy siistinä, käyttäjänimi reagoi hoveriin. */
button.cs-map-live-presence__user{
  appearance:none;
  border:0!important;
  box-shadow:none!important;
  font:inherit;
  color:inherit;
  text-align:left;
}
button.cs-map-live-presence__user:hover strong,
button.cs-map-live-presence__user:focus-visible strong{
  color:#ff1744;
}

/* Käyttäjäpopup ilman avatar-placeholderia tai KARTAN KÄYTTÄJÄ -alaotsikkoa. */
.cs-map-user-modal__dialog{max-width:420px}
.cs-map-user-modal__head{
  display:block!important;
}
.cs-map-user-modal__head h2{
  margin:0!important;
  color:var(--cs-text);
}
.cs-map-user-modal__actions{
  display:grid;
  gap:8px;
}
.cs-map-user-modal__actions .cs-button,
.cs-map-user-modal__close{
  width:100%;
  justify-content:center;
}
/* Kaikki neljä toimintoa käyttävät samaa nappiperhettä. */
.cs-map-user-report-button{
  border:1px solid var(--cs-border)!important;
  background:transparent!important;
  color:var(--cs-text)!important;
  box-shadow:none!important;
}
.cs-map-user-report-button:hover,
.cs-map-user-report-button:focus-visible{
  border-color:#ff1744!important;
  color:#fff!important;
  background:rgba(255,23,68,.08)!important;
}

/* Instant panelin kevyet skeleton-tekstit */
.cs-map-panel-loading{
  padding:8px 0;
  color:var(--cs-text-muted);
  font-size:11px;
  opacity:.72;
}


/* Map 1.10.3: fullscreen viewport hardening for Elementor pages */
.elementor-widget-cruisingsuomi-map,
.elementor-widget-cruisingsuomi-map > .elementor-widget-container{
    max-width:none!important;
    overflow:visible;
}
body.cs-map-fullscreen-active .elementor-widget-cruisingsuomi-map{
    margin-bottom:0!important;
}
