#lm-wp-native-viewer{
    --lm-bg:#f4f6f8;
    --lm-panel:#ffffff;
    --lm-text:#182433;
    --lm-muted:#6c7884;
    --lm-line:rgba(30,45,60,.34);
    --lm-district:rgba(20,30,40,.70);
    --lm-highlight:rgba(255,255,255,.18);
}
#lm-wp-native-viewer,
#lm-wp-native-viewer *{
    box-sizing:border-box;
}
#lm-wp-native-viewer{
    margin:0;
    padding:0;
    background:var(--lm-bg);
    color:var(--lm-text);
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.lm-test{
    width:min(
        calc(100% - 20px),
        760px
    );
    margin:20px auto;
}

.lm-toolbar{
    display:flex;
    gap:8px;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    margin-bottom:10px;
}

.lm-toolbar select,
.lm-toolbar button,
.lm-zoom button{
    height:38px;
    border:1px solid #cbd4dc;
    border-radius:8px;
    background:var(--lm-panel);
    color:var(--lm-text);
    font:inherit;
}

.lm-toolbar select{
    padding:0 10px;
}

.lm-toolbar button{
    min-width:40px;
    padding:0 10px;
    font-size:1px;
    cursor:pointer;
}

#lm-valid{
    text-align:center;
    font-size:14px;
    font-weight:650;
    margin:0 0 8px;
}

.lm-map-shell{
    position:relative;
    width:min(
        100%,
        470px
    );
    margin:0 auto;
    overflow:hidden;
    border-radius:12px;
    background:#dce8ef;
    border:1px solid rgba(30,45,60,.18);
}

#lm-map{
    display:block;
    width:100%;
    height:auto;
    touch-action:none;
    user-select:none;
    cursor:crosshair;
}

.lm-concelho-lines,
.lm-distrito-lines,
.lm-country-outline,
.lm-highlight{
    pointer-events:none;
}

.lm-concelho-lines{
    fill:none;
    stroke:var(--lm-line);
    stroke-width:.42;
    vector-effect:non-scaling-stroke;
}

.lm-distrito-lines{
    fill:none;
    stroke:var(--lm-district);
    stroke-width:.95;
    vector-effect:non-scaling-stroke;
}

.lm-country-outline{
    fill:none;
    stroke:var(--lm-district);
    stroke-width:1.15;
    vector-effect:non-scaling-stroke;
}

.lm-highlight{
    fill:var(--lm-highlight);
    stroke:#fff;
    stroke-width:1.15;
    vector-effect:non-scaling-stroke;
}

.lm-concelho-hit{
    fill:transparent;
    stroke:none;
    pointer-events:all;
}

.lm-tooltip{
    position:absolute;
    z-index:50;
    display:none;
    pointer-events:none;

    min-width:130px;
    max-width:220px;

    padding:8px 10px;

    color:#fff;
    background:rgba(15,24,32,.94);

    border-radius:8px;
    box-shadow:0 3px 12px rgba(0,0,0,.28);

    font-size:12px;
    line-height:1.28;
}

.lm-tooltip-value{
    font-size:18px;
    line-height:1.05;
    font-weight:750;
    margin-bottom:4px;
}

.lm-tooltip-place{
    font-weight:700;
}

.lm-tooltip-district{
    opacity:.74;
    margin-top:1px;
}

.lm-tooltip-coord{
    opacity:.60;
    font-size:10px;
    margin-top:4px;
}

.lm-zoom{
    position:absolute;
    z-index:40;
    top:10px;
    right:10px;

    display:flex;
    flex-direction:column;
    gap:5px;
}

.lm-zoom button{
    width:36px;
    min-width:36px;
    height:36px;
    padding:0;

    background:rgba(255,255,255,.93);
    color:#182433;

    font-weight:700;
    cursor:pointer;
}

.lm-zoom .lm-reset{
    font-size:10px;
}

.lm-zoom-value{
    position:absolute;
    z-index:30;
    top:10px;
    left:10px;

    padding:4px 7px;

    background:rgba(255,255,255,.88);
    border-radius:6px;

    color:#35434e;
    font-size:10px;

    pointer-events:none;
}

.lm-legend{
    width:min(
        100%,
        470px
    );
    margin:11px auto 0;
}

#lm-legend-title{
    font-size:13px;
    font-weight:700;
    margin-bottom:5px;
}

#lm-legend-bar{
    height:14px;
    border-radius:999px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.16);
}

#lm-legend-ticks{
    position:relative;
    display:block;
    height:14px;
    margin-top:4px;

    font-size:10px;
    color:var(--lm-muted);
}

#lm-legend-ticks span{
    position:absolute;
    top:0;
    white-space:nowrap;
}

.lm-help{
    width:min(
        100%,
        470px
    );
    margin:10px auto 0;

    color:var(--lm-muted);
    font-size:11px;
    line-height:1.35;
    text-align:center;
}

@media(prefers-color-scheme:dark){

    #lm-wp-native-viewer{
        --lm-bg:#15283b;
        --lm-panel:#20364a;
        --lm-text:#edf4fb;
        --lm-muted:#9dafbe;
        --lm-line:rgba(235,244,251,.32);
        --lm-district:rgba(255,255,255,.72);
        --lm-highlight:rgba(255,255,255,.16);
    }

    .lm-toolbar select,
    .lm-toolbar button{
        border-color:#40566a;
    }
}

/* ============================================================
   LM-WP-MAPS-FREG-ALT-LABELS-V2
   ============================================================ */

.lm-highlight{
    display:none !important;
}

.lm-freguesia-hit{
    fill:transparent;
    stroke:none;
    pointer-events:all;
}

#lm-label-layer{
    pointer-events:none;
}

.lm-freg-label{
    fill:#fff;
    stroke:rgba(0,0,0,.82);
    stroke-width:.85px;
    paint-order:stroke;
    stroke-linejoin:round;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:3.05px;
    font-weight:650;
    text-anchor:middle;
    dominant-baseline:middle;
}

.lm-mountain-symbol{
    fill:#fff;
    stroke:rgba(0,0,0,.90);
    stroke-width:.85px;
    paint-order:stroke;
    stroke-linejoin:round;

    font-size:3.2px;
    font-weight:800;
    text-anchor:middle;
}

.lm-mountain-label{
    fill:#fff;
    stroke:rgba(0,0,0,.90);
    stroke-width:.9px;
    paint-order:stroke;
    stroke-linejoin:round;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:2.9px;
    font-weight:700;
    text-anchor:start;
    dominant-baseline:middle;
}

.lm-tooltip-row{
    margin-top:2px;
}

.lm-tooltip-label{
    opacity:.62;
    margin-right:4px;
}


/* ============================================================
   LM-WP-MAPS-HIERARQUIA-HELP-ZOOM-V3
   ============================================================ */

/* ------------------------------------------
   ZOOM FORA DO MAPA
   ------------------------------------------ */

.lm-zoom-outside{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:7px;
    width:100%;
    margin:0 0 7px 0;
}

.lm-zoom-outside #zoomValue{
    position:static !important;
    inset:auto !important;
    margin:0 !important;
    transform:none !important;
}

.lm-zoom-controls-external{
    position:static !important;
    inset:auto !important;

    display:flex !important;
    flex-direction:row !important;

    gap:5px !important;

    margin:0 !important;
    transform:none !important;
}

.lm-zoom-controls-external button{
    position:static !important;
    inset:auto !important;

    width:38px !important;
    min-width:38px !important;
    height:34px !important;

    margin:0 !important;
}


/* ------------------------------------------
   LABELS HIERÁRQUICOS
   ------------------------------------------ */

.lm-district-label{
    fill:#fff;

    stroke:rgba(0,0,0,.88);
    stroke-width:.95px;

    paint-order:stroke;
    stroke-linejoin:round;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:3.6px;
    font-weight:800;

    text-anchor:middle;
    dominant-baseline:middle;

    pointer-events:none;
}

.lm-concelho-label{
    fill:#fff;

    stroke:rgba(0,0,0,.84);
    stroke-width:.82px;

    paint-order:stroke;
    stroke-linejoin:round;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:2.85px;
    font-weight:750;

    text-anchor:middle;
    dominant-baseline:middle;

    pointer-events:none;
}

.lm-freg-label{
    font-size:2.25px !important;
    font-weight:650 !important;
    stroke-width:.62px !important;
}

.lm-mountain-symbol{
    font-size:2.55px !important;
    stroke-width:.65px !important;
}

.lm-mountain-label{
    font-size:2.25px !important;
    stroke-width:.67px !important;
}


/* ------------------------------------------
   COMO UTILIZAR
   ------------------------------------------ */

.lm-help-launch-wrap{
    display:flex;
    justify-content:center;
    margin-top:12px;
}

.lm-howto-button{
    appearance:none;
    border:
        1px solid
        rgba(130,155,175,.42);

    border-radius:10px;

    padding:8px 13px;

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

    color:inherit;

    font:
        700 13px/1
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    cursor:pointer;
}

.lm-howto-button:hover{
    background:
        rgba(255,255,255,.14);
}


.lm-help-overlay{
    position:fixed;
    inset:0;

    z-index:999999;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:18px;

    background:
        rgba(8,20,32,.68);

    backdrop-filter:
        blur(5px);

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

    opacity:0;
    visibility:hidden;

    transition:
        opacity .18s ease,
        visibility .18s ease;
}

.lm-help-overlay.is-open{
    opacity:1;
    visibility:visible;
}

.lm-help-modal{
    width:min(
        100%,
        430px
    );

    max-height:
        calc(
            100vh
            - 36px
        );

    overflow:auto;

    padding:22px;

    border:
        1px solid
        rgba(135,160,180,.35);

    border-radius:16px;

    background:
        var(
            --lm-panel,
            #fff
        );

    color:
        var(
            --lm-text,
            #182433
        );

    box-shadow:
        0 20px 60px
        rgba(0,0,0,.30);

    transform:
        translateY(8px)
        scale(.985);

    transition:
        transform .18s ease;
}

.lm-help-overlay.is-open
.lm-help-modal{
    transform:none;
}

.lm-help-eyebrow{
    margin-bottom:5px;

    color:
        var(
            --lm-muted,
            #6c7884
        );

    font-size:11px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:.07em;
}

.lm-help-title{
    margin:0 0 7px;

    font-size:23px;
    line-height:1.15;
}

.lm-help-intro{
    margin-bottom:18px;

    color:
        var(
            --lm-muted,
            #6c7884
        );

    font-size:13px;
    line-height:1.45;
}

.lm-help-device{
    margin-bottom:9px;

    font-size:13px;
    font-weight:800;
}

.lm-help-list{
    list-style:none;

    margin:0;
    padding:0;

    display:grid;
    gap:10px;
}

.lm-help-list li{
    display:grid;

    grid-template-columns:
        28px
        1fr;

    gap:9px;

    align-items:start;

    font-size:13px;
    line-height:1.38;
}

.lm-help-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:28px;
    height:28px;

    border-radius:8px;

    background:
        rgba(110,145,170,.13);

    font-weight:800;
}

.lm-help-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:12px;

    margin-top:20px;
    padding-top:15px;

    border-top:
        1px solid
        rgba(130,155,175,.22);
}

.lm-help-never{
    display:flex;
    align-items:center;
    gap:7px;

    font-size:12px;
    cursor:pointer;
}

.lm-help-button{
    appearance:none;

    border:0;
    border-radius:9px;

    padding:9px 14px;

    background:#27779f;
    color:#fff;

    font-size:13px;
    font-weight:800;

    cursor:pointer;
}


@media(max-width:700px){

    .lm-zoom-outside{
        justify-content:center;
    }

    .lm-help-modal{
        padding:18px;
    }

    .lm-help-title{
        font-size:20px;
    }
}


/* ============================================================
   LM-WP-MAPS-DIRECT-V4
   ============================================================ */

.lm-zoom-outside{
    width:min(100%,470px) !important;

    margin:
        0 auto 8px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;
}


/* O indicador estava originalmente absoluto dentro do mapa */
.lm-zoom-outside .lm-zoom-value{
    position:static !important;
    inset:auto !important;

    display:flex !important;
    align-items:center !important;

    width:auto !important;
    height:34px !important;

    margin:0 !important;
    padding:0 10px !important;

    transform:none !important;

    border-radius:9px !important;
}


/* Os três botões passam para linha horizontal */
.lm-zoom-outside .lm-zoom{
    position:static !important;
    inset:auto !important;

    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;

    width:auto !important;

    gap:5px !important;

    margin:0 !important;
    transform:none !important;
}

.lm-zoom-outside .lm-zoom button{
    position:static !important;
    inset:auto !important;

    width:38px !important;
    min-width:38px !important;
    height:34px !important;

    margin:0 !important;
}

.lm-zoom-outside .lm-zoom .lm-reset{
    width:auto !important;
    min-width:56px !important;
    padding:0 8px !important;
}


/* ------------------------------------------
   NOMES ADMINISTRATIVOS
   ------------------------------------------ */

.lm-district-label{
    fill:#fff;

    stroke:rgba(0,0,0,.88);
    stroke-width:.82px;

    paint-order:stroke;
    stroke-linejoin:round;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:3.25px;
    font-weight:800;

    text-anchor:middle;
    dominant-baseline:middle;

    pointer-events:none;
}

.lm-concelho-label{
    fill:#fff;

    stroke:rgba(0,0,0,.84);
    stroke-width:.70px;

    paint-order:stroke;
    stroke-linejoin:round;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:2.55px;
    font-weight:750;

    text-anchor:middle;
    dominant-baseline:middle;

    pointer-events:none;
}

.lm-freg-label{
    font-size:2.15px !important;
    stroke-width:.55px !important;
}

.lm-mountain-symbol{
    font-size:2.45px !important;
    stroke-width:.60px !important;
}

.lm-mountain-label{
    font-size:2.15px !important;
    stroke-width:.60px !important;
}


/* ------------------------------------------
   BOTÃO DE AJUDA
   ------------------------------------------ */

.lm-help-launch-wrap{
    margin-top:10px !important;
}

#lm-howto{
    cursor:pointer;
}


@media(max-width:700px){

    .lm-zoom-outside{
        justify-content:center !important;
    }
}


/* ============================================================
   LM-WP-MAPS-SLIDER-MARKER-V5
   ============================================================ */


/* ============================================================
   LABELS +30%
   ============================================================ */

.lm-concelho-label{
    font-size:3.32px !important;
    stroke-width:.85px !important;
}

.lm-freg-label{
    font-size:2.80px !important;
    stroke-width:.70px !important;
}

.lm-mountain-symbol{
    font-size:3.18px !important;
    stroke-width:.76px !important;
}

.lm-mountain-label{
    font-size:2.80px !important;
    stroke-width:.76px !important;
}


/* ============================================================
   CONTROLOS DE ZOOM
   topo esquerdo, fora do mapa
   ============================================================ */

#lm-zoom-bar-outside{
    width:min(100%,470px) !important;

    margin:
        0 auto 7px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    gap:6px !important;
}

#lm-zoom-bar-outside .lm-zoom{
    order:1;
}

#lm-zoom-bar-outside .lm-zoom-value{
    order:2;
}


/* Corrige regra mobile anterior */
@media(max-width:700px){

    #lm-zoom-bar-outside{
        justify-content:flex-start !important;
    }
}


/* ============================================================
   SLIDER TEMPORAL
   ============================================================ */

.lm-time-slider-wrap{
    width:min(100%,470px);

    margin:
        8px auto 5px;

    display:grid;

    grid-template-columns:
        1fr;

    gap:4px;
}

.lm-time-slider{
    display:block;

    width:100%;
    height:22px;

    margin:0;
    padding:0;

    cursor:pointer;

    accent-color:
        var(
            --lm-accent,
            #27779f
        );
}

.lm-time-slider-meta{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:10px;

    color:
        var(
            --lm-muted,
            #60717d
        );

    font-size:10px;
    line-height:1.2;
}

.lm-time-slider-now{
    font-weight:800;

    color:
        var(
            --lm-text,
            #16212b
        );
}


/* ============================================================
   MARKER
   ============================================================ */

#lm-marker-layer{
    pointer-events:none;
}

.lm-map-marker-stem{
    stroke:#ffffff;

    stroke-width:1.15;

    stroke-linecap:round;

    paint-order:stroke;

    vector-effect:
        non-scaling-stroke;
}

.lm-map-marker-outer{
    fill:#e53935;

    stroke:#ffffff;

    stroke-width:1.1;

    vector-effect:
        non-scaling-stroke;
}

.lm-map-marker-inner{
    fill:#ffffff;

    stroke:none;
}


/* ============================================================
   LM-WP-ZOOM-SIDE-V7
   ============================================================ */

/*
 * O stage é mais largo que o mapa.
 * O mapa continua centrado.
 * A zona lateral esquerda recebe o zoom.
 */
.lm-map-stage-v7{
    position:relative;

    width:min(
        100%,
        620px
    );

    margin:
        0 auto;
}


/*
 * O mapa mantém os 470px originais
 * e continua centrado.
 */
.lm-map-stage-v7
.lm-map-shell{
    width:min(
        100%,
        470px
    ) !important;

    margin:
        0 auto !important;
}


/* ============================================================
   ZOOM — MARGEM ESQUERDA DO VIEWER
   ============================================================ */

.lm-map-stage-v7
#lm-zoom-bar-outside{
    position:absolute !important;

    top:0 !important;
    left:0 !important;

    width:68px !important;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;

    flex-direction:column !important;

    align-items:stretch !important;
    justify-content:flex-start !important;

    gap:6px !important;

    z-index:5;
}


/* indicador Zoom 1.0x */
.lm-map-stage-v7
#lm-zoom-bar-outside
.lm-zoom-value{
    position:static !important;

    width:68px !important;
    height:auto !important;

    margin:0 !important;
    padding:7px 5px !important;

    transform:none !important;

    text-align:center !important;
}


/* + − 100% em coluna */
.lm-map-stage-v7
#lm-zoom-bar-outside
.lm-zoom{
    position:static !important;

    width:68px !important;

    margin:0 !important;

    display:flex !important;
    flex-direction:column !important;

    align-items:stretch !important;

    gap:5px !important;

    transform:none !important;
}


.lm-map-stage-v7
#lm-zoom-bar-outside
.lm-zoom button{
    position:static !important;

    width:68px !important;
    min-width:68px !important;
    height:34px !important;

    margin:0 !important;
}


.lm-map-stage-v7
#lm-zoom-bar-outside
.lm-zoom
.lm-reset{
    width:68px !important;
    min-width:68px !important;

    padding:
        0 5px !important;
}


/* ============================================================
   MOBILE / VIEWER ESTREITO
   ============================================================ */

@media(max-width:600px){

    .lm-map-stage-v7{
        width:min(
            100%,
            470px
        );
    }


    /*
     * Sem espaço lateral:
     * controlos ficam acima do mapa,
     * mas continuam dentro do viewer.
     */
    .lm-map-stage-v7
    #lm-zoom-bar-outside{
        position:static !important;

        width:100% !important;

        margin:
            0 0 7px !important;

        flex-direction:row !important;

        align-items:center !important;
        justify-content:flex-start !important;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom-value{
        width:auto !important;
        min-width:68px !important;

        order:2;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom{
        width:auto !important;

        flex-direction:row !important;

        order:1;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom button{
        width:38px !important;
        min-width:38px !important;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom
    .lm-reset{
        width:auto !important;
        min-width:56px !important;
    }
}


/* ============================================================
   LM-WP-LEGEND-INSIDE-V8
   ============================================================ */

/*
 * A shell branca passa a conter
 * mapa + legenda.
 */
.lm-map-shell{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;

    padding-bottom:14px !important;
}


/*
 * Dá algum respiro entre o mapa
 * e a legenda.
 */
.lm-map-shell svg,
.lm-map-shell canvas,
.lm-map-shell .lm-map-wrap{
    margin-bottom:10px !important;
}


/*
 * A legenda fica integrada,
 * sem fundo próprio extra.
 */
.lm-map-shell .lm-legend{
    width:calc(100% - 28px) !important;

    margin:0 auto !important;
    padding:0 !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}


/*
 * Mantém a barra de cores bem comportada
 * dentro da área branca.
 */
.lm-map-shell .lm-legend .legend-bar,
.lm-map-shell .lm-legend .lm-legend-bar,
.lm-map-shell .lm-legend canvas,
.lm-map-shell .lm-legend svg{
    max-width:100% !important;
}


/*
 * Se existir título da legenda, mantém alinhado.
 */
.lm-map-shell .lm-legend h3,
.lm-map-shell .lm-legend h4,
.lm-map-shell .lm-legend .lm-legend-title{
    margin-top:0 !important;
}


/* ============================================================
   LM-WP-LEGEND-COLORS-LABELS-V9
   ============================================================ */

/* Legenda agora está sobre fundo claro */
.lm-map-shell .lm-legend{
    color:#22313c !important;
}

.lm-map-shell .lm-legend h1,
.lm-map-shell .lm-legend h2,
.lm-map-shell .lm-legend h3,
.lm-map-shell .lm-legend h4,
.lm-map-shell .lm-legend h5,
.lm-map-shell .lm-legend h6,
.lm-map-shell .lm-legend .lm-legend-title,
.lm-map-shell .lm-legend .legend-title,
.lm-map-shell .lm-legend strong{
    color:#22313c !important;
}

.lm-map-shell .lm-legend span,
.lm-map-shell .lm-legend div,
.lm-map-shell .lm-legend p,
.lm-map-shell .lm-legend small{
    color:#7a8995 !important;
}

/* Se a legenda usar SVG/text */
.lm-map-shell .lm-legend text{
    fill:#7a8995 !important;
}

/* Mas o título da legenda deve ficar mais escuro */
.lm-map-shell .lm-legend text.lm-legend-title,
.lm-map-shell .lm-legend .lm-legend-title text{
    fill:#22313c !important;
}

/* Garante contraste dos extremos numéricos */
.lm-map-shell .lm-legend .min,
.lm-map-shell .lm-legend .max,
.lm-map-shell .lm-legend .legend-min,
.lm-map-shell .lm-legend .legend-max,
.lm-map-shell .lm-legend .legend-value{
    color:#7a8995 !important;
}


/* ============================================================
   LM-WP-DESKTOP-MARKER-V10
   ============================================================ */


/* ============================================================
   DESATIVAR MARKER ANTIGO V5
   ============================================================ */

#lm-marker-layer{
    display:none !important;
}


/* ============================================================
   NOVO MARKER
   ============================================================ */

#lm-click-marker{
    pointer-events:none;
}

#lm-click-marker circle{
    fill:#111;

    stroke:rgba(255,255,255,.92);
    stroke-width:.45;

    vector-effect:
        non-scaling-stroke;
}


/* ============================================================
   PAINEL LATERAL
   ============================================================ */

.lm-selected-point{
    position:absolute;

    left:0;
    top:215px;

    width:118px;

    padding:
        10px 9px;

    border:
        1px solid
        rgba(130,150,165,.38);

    border-radius:10px;

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

    color:#263642;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:10.5px;
    line-height:1.32;

    box-shadow:
        0 2px 8px
        rgba(0,0,0,.06);
}

.lm-selected-point-title{
    margin-bottom:5px;

    font-size:10px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:.035em;

    color:#647682;
}

.lm-selected-point-empty{
    color:#788995;
}

.lm-selected-point
.lm-tooltip-value{
    font-size:16px;
    font-weight:800;
    line-height:1.15;

    color:#172732;

    margin-bottom:4px;
}

.lm-selected-point
.lm-tooltip-place{
    font-weight:800;

    color:#263642;
}

.lm-selected-point
.lm-tooltip-district,
.lm-selected-point
.lm-tooltip-row,
.lm-selected-point
.lm-tooltip-coord{
    margin-top:3px;

    color:#667984;
}


/* ============================================================
   DESKTOP — APROVEITAR MELHOR O VIEWPORT
   ============================================================ */

@media(
    min-width:901px
){

    /*
     * A largura é determinada também pela ALTURA disponível.
     *
     * Assim:
     * - monitor grande -> cresce até 610px
     * - monitor baixo -> encolhe automaticamente
     * - proporção do SVG não é alterada
     */
    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            min(
                610px,
                calc(
                    (100vh - 320px)
                    * .7376
                )
            );
    }


    .lm-test{
        width:100%;
        max-width:900px;

        margin-left:auto;
        margin-right:auto;
    }


    /* toolbar maior */
    .lm-toolbar{
        width:
            var(
                --lm-desktop-map-w
            ) !important;

        max-width:none !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }


    .lm-toolbar select,
    .lm-toolbar button{
        min-height:44px !important;

        font-size:15px !important;
    }


    /* slider acompanha largura do mapa */
    .lm-time-slider-wrap{
        width:
            var(
                --lm-desktop-map-w
            ) !important;

        max-width:none !important;
    }


    #lm-valid{
        font-size:15px !important;
    }


    /*
     * Stage mais largo:
     * 160px adicionais criam a zona lateral,
     * mantendo o mapa centrado.
     */
    .lm-map-stage-v7{
        width:
            calc(
                var(--lm-desktop-map-w)
                + 160px
            ) !important;

        max-width:100% !important;
    }


    /*
     * Apenas alteramos a largura.
     * Nunca definimos uma altura diferente:
     * o viewBox mantém a proporção.
     */
    .lm-map-stage-v7
    .lm-map-shell{
        width:
            var(
                --lm-desktop-map-w
            ) !important;

        max-width:none !important;
    }


    /*
     * Controlos de zoom ligeiramente maiores.
     */
    .lm-map-stage-v7
    #lm-zoom-bar-outside{
        width:118px !important;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom{
        width:74px !important;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom button{
        width:74px !important;
        min-width:74px !important;

        height:39px !important;

        font-size:15px !important;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom-value{
        width:74px !important;

        font-size:11px !important;
    }


    /* legenda também aumenta naturalmente */
    .lm-map-shell
    .lm-legend{
        font-size:12px !important;
    }


    #lm-legend-title{
        font-size:14px !important;
    }


    #lm-legend-ticks{
        font-size:11px !important;
    }


    /* botão inferior */
    .lm-help{
        width:
            var(
                --lm-desktop-map-w
            ) !important;
    }

}


/* ============================================================
   MONITORES COM POUCA ALTURA
   ============================================================ */

@media(
    min-width:901px
)
and
(
    max-height:800px
){

    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            calc(
                (100vh - 295px)
                * .7376
            );
    }

}


/* ============================================================
   MOBILE — NÃO MOSTRAR PAINEL LATERAL
   ============================================================ */

@media(max-width:900px){

    .lm-selected-point{
        display:none !important;
    }
}


/* ============================================================
   LM-WP-DESKTOP-LAYOUT-V11
   ============================================================ */


/* ============================================================
   TOOLBAR — PRODUTO / DATA
   ============================================================ */

.lm-toolbar{
    align-items:flex-end !important;
}

.lm-toolbar-field{
    display:flex;

    flex-direction:column;

    gap:4px;
}

.lm-toolbar-field-product{
    flex:1.45;
}

.lm-toolbar-field-date{
    flex:1;
}

.lm-toolbar-label{
    padding-left:2px;

    color:
        var(
            --lm-muted,
            #93a4b2
        );

    font-size:10px;
    font-weight:800;

    line-height:1;

    letter-spacing:.055em;

    text-transform:uppercase;
}

.lm-date-controls{
    display:flex;

    align-items:center;

    gap:6px;
}

.lm-toolbar-field select{
    width:100% !important;
}


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

/* O texto "Zoom 1.0x" desaparece completamente */
#lm-zoom-bar-outside
.lm-zoom-value{
    display:none !important;
}


/* coluna dos três botões */
.lm-map-stage-v7
#lm-zoom-bar-outside{
    width:92px !important;

    left:0 !important;

    align-items:center !important;
}


.lm-map-stage-v7
#lm-zoom-bar-outside
.lm-zoom{
    width:82px !important;

    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;

    gap:7px !important;
}


.lm-map-stage-v7
#lm-zoom-bar-outside
.lm-zoom button{
    width:82px !important;
    min-width:82px !important;

    height:42px !important;

    margin:0 !important;

    padding:0 6px !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    font-size:15px !important;
    font-weight:800 !important;

    text-align:center !important;
}


.lm-map-stage-v7
#lm-zoom-bar-outside
.lm-zoom
.lm-reset{
    width:82px !important;
    min-width:82px !important;

    font-size:12px !important;
}


/* ============================================================
   DESKTOP — MAPA MAIOR
   ============================================================ */

@media(min-width:901px){

    /*
     * Mantém exatamente a proporção atual.
     *
     * Em monitores altos cresce até 700 px.
     * Em monitores baixos é a altura do viewport
     * que limita automaticamente.
     */
    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            min(
                700px,
                calc(
                    (100dvh - 305px)
                    * .7376
                )
            );
    }


    .lm-test{
        width:100% !important;

        max-width:1060px !important;

        margin:
            0 auto !important;
    }


    .lm-toolbar,
    .lm-time-slider-wrap{
        width:
            var(
                --lm-desktop-map-w
            ) !important;

        max-width:none !important;
    }


    /*
     * 280px extra:
     *
     * 140 esquerda
     * + mapa
     * + 140 direita
     */
    .lm-map-stage-v7{
        width:
            calc(
                var(--lm-desktop-map-w)
                + 280px
            ) !important;

        max-width:100% !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }


    .lm-map-stage-v7
    .lm-map-shell{
        width:
            var(
                --lm-desktop-map-w
            ) !important;

        max-width:none !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }


    /*
     * Painel do ponto deixa de entrar
     * em cima do mapa.
     */
    .lm-selected-point{
        left:0 !important;

        width:125px !important;

        top:195px !important;
    }


    /* zoom no topo da coluna esquerda */
    .lm-map-stage-v7
    #lm-zoom-bar-outside{
        left:0 !important;
        top:0 !important;
    }


    /* toolbar um pouco maior */
    .lm-toolbar select,
    .lm-toolbar button{
        min-height:45px !important;
    }


    .lm-toolbar select{
        font-size:15px !important;
    }


    #lm-valid{
        font-size:15px !important;
    }


    /* slider proporcional */
    .lm-time-slider{
        height:24px !important;
    }


    /* botão inferior */
    .lm-help{
        width:
            var(
                --lm-desktop-map-w
            ) !important;

        margin-top:10px !important;
    }
}


/*
 * Em ecrãs desktop baixos:
 * damos ainda mais prioridade a caber verticalmente.
 */
@media(
    min-width:901px
)
and
(
    max-height:850px
){

    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            calc(
                (100dvh - 285px)
                * .7376
            );
    }

}


/* ============================================================
   PAINEL DIREITO — LUSO METEO
   ============================================================ */

.lm-map-meta-desktop{
    position:absolute;

    top:0;
    right:0;

    width:125px;

    padding:
        12px 10px;

    border:
        1px solid
        rgba(130,150,165,.34);

    border-radius:11px;

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

    color:#263642;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    line-height:1.3;

    box-shadow:
        0 2px 8px
        rgba(0,0,0,.05);
}

.lm-meta-brand{
    font-size:11px;

    font-weight:850;

    letter-spacing:.045em;

    text-transform:uppercase;

    color:#20313d;
}

.lm-meta-algo{
    margin-top:5px;

    font-size:11px;

    font-weight:750;

    color:#526673;
}

.lm-meta-updated{
    margin-top:8px;

    font-size:10px;

    color:#81909a;
}


/* ============================================================
   META MOBILE
   ============================================================ */

.lm-map-meta-mobile{
    display:none;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:900px){

    /*
     * Não precisamos das laterais em mobile.
     */
    .lm-map-meta-desktop{
        display:none !important;
    }


    .lm-map-meta-mobile{
        display:block;

        width:min(
            100%,
            470px
        );

        margin:
            2px auto 7px;

        color:
            var(
                --lm-muted,
                #93a4b2
            );

        font-size:10px;
        line-height:1.25;

        text-align:center;
    }


    /*
     * Mobile mantém toolbar compacta.
     */
    .lm-toolbar{
        align-items:flex-end !important;
    }


    .lm-toolbar-label{
        font-size:9px;
    }


    /*
     * Zoom horizontal acima do mapa.
     */
    .lm-map-stage-v7
    #lm-zoom-bar-outside{
        width:100% !important;

        justify-content:flex-start !important;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom{
        width:auto !important;

        flex-direction:row !important;

        gap:5px !important;
    }


    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom button,
    .lm-map-stage-v7
    #lm-zoom-bar-outside
    .lm-zoom
    .lm-reset{
        width:58px !important;
        min-width:58px !important;

        height:36px !important;
    }
}


/* ============================================================
   MOBILE MUITO ESTREITO
   ============================================================ */

@media(max-width:540px){

    /*
     * Produto numa linha;
     * Data logo abaixo.
     *
     * Só acrescenta o mínimo de altura,
     * mas evita esmagar os selects.
     */
    .lm-toolbar{
        display:grid !important;

        grid-template-columns:
            1fr !important;

        gap:7px !important;
    }


    .lm-toolbar-field{
        width:100%;
    }


    .lm-date-controls{
        width:100%;
    }


    .lm-date-controls
    #lm-time{
        flex:1;
        min-width:0;
    }
}


/* ============================================================
   LM-WP-TOOLBAR-MAP-V13
   ============================================================ */


/* ============================================================
   TOOLBAR — impedir overflow
   ============================================================ */

.lm-toolbar{
    display:grid !important;

    grid-template-columns:
        minmax(0,1.45fr)
        minmax(0,1fr) !important;

    gap:8px !important;

    align-items:end !important;
}

.lm-toolbar-field{
    min-width:0 !important;
}

.lm-toolbar-field-product,
.lm-toolbar-field-date{
    width:auto !important;
    min-width:0 !important;
}


/* ============================================================
   DATA — setas pequenas + select flexível
   ============================================================ */

.lm-date-controls{
    display:grid !important;

    grid-template-columns:
        38px
        minmax(0,1fr)
        38px !important;

    gap:5px !important;

    width:100% !important;
    min-width:0 !important;

    align-items:center !important;
}


#lm-prev,
#lm-next{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;

    height:40px !important;
    min-height:40px !important;

    padding:0 !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    font-size:20px !important;
    line-height:1 !important;
}


#lm-time{
    width:100% !important;

    min-width:0 !important;
    max-width:100% !important;

    height:40px !important;

    padding-left:10px !important;
    padding-right:28px !important;

    box-sizing:border-box !important;
}


#lm-product{
    min-width:0 !important;
    max-width:100% !important;

    height:40px !important;
}


/* label DATA nunca sai do grupo */
.lm-toolbar-field-date
.lm-toolbar-label{
    width:100% !important;

    box-sizing:border-box !important;

    overflow:hidden !important;
}


/* ============================================================
   DESKTOP — MAPA UM POUCO MAIOR
   ============================================================ */

@media(min-width:901px){

    /*
     * Antes reservávamos demasiado espaço vertical.
     *
     * Agora aproveitamos melhor o viewport,
     * mantendo sempre a proporção do viewer.
     */
    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            min(
                740px,
                calc(
                    (100dvh - 245px)
                    * .7376
                )
            ) !important;
    }


    .lm-test{
        max-width:1120px !important;
    }


    /*
     * Mantém espaço para:
     * esquerda = zoom/ponto
     * direita = meta Luso Meteo
     */
    .lm-map-stage-v7{
        width:
            calc(
                var(--lm-desktop-map-w)
                + 290px
            ) !important;

        max-width:100% !important;
    }


    .lm-map-stage-v7
    .lm-map-shell{
        width:
            var(--lm-desktop-map-w)
            !important;

        max-width:none !important;
    }


    .lm-toolbar,
    .lm-time-slider-wrap{
        width:
            var(--lm-desktop-map-w)
            !important;

        max-width:none !important;
    }


    /*
     * Evita que os controlos laterais
     * fiquem demasiado próximos do mapa.
     */
    .lm-map-stage-v7
    #lm-zoom-bar-outside{
        left:0 !important;
    }


    .lm-selected-point{
        left:0 !important;
    }


    .lm-map-meta-desktop{
        right:0 !important;
    }

}


/* ============================================================
   DESKTOP BAIXO
   ============================================================ */

@media(
    min-width:901px
)
and
(
    max-height:820px
){

    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            calc(
                (100dvh - 225px)
                * .7376
            ) !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:900px){

    .lm-toolbar{
        grid-template-columns:
            minmax(0,1.35fr)
            minmax(0,1fr) !important;

        gap:6px !important;
    }


    .lm-date-controls{
        grid-template-columns:
            34px
            minmax(0,1fr)
            34px !important;

        gap:4px !important;
    }


    #lm-prev,
    #lm-next{
        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;

        height:38px !important;
        min-height:38px !important;

        font-size:18px !important;
    }


    #lm-time,
    #lm-product{
        height:38px !important;
    }
}


/* Em telemóveis estreitos continua em 2 linhas */
@media(max-width:540px){

    .lm-toolbar{
        grid-template-columns:
            1fr !important;
    }
}


/* LM-WP-MAP-MINUS2-V14 */

@media(min-width:901px){

    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            min(
                725px,
                calc(
                    (100dvh - 245px)
                    * .72285
                )
            ) !important;
    }
}

@media(
    min-width:901px
)
and
(
    max-height:820px
){

    #lm-wp-native-viewer{
        --lm-desktop-map-w:
            calc(
                (100dvh - 225px)
                * .72285
            ) !important;
    }
}


/* LM-WP-CONCELHOS-VISIBILITY40-V15 */

/* +40% de visibilidade dos limites dos concelhos */
.lm-concelho-lines{
    stroke:
        rgba(
            30,
            45,
            60,
            .476
        ) !important;
}


/* correspondente no dark mode */
@media(prefers-color-scheme:dark){

    .lm-concelho-lines{
        stroke:
            rgba(
                235,
                244,
                251,
                .448
            ) !important;
    }
}



/* ============================================================
   LM-WP-NATIVE-PRODUCTION-V16
   ============================================================ */

#lm-wp-native-viewer{
    width:100%;
    max-width:none;

    margin:0;
    padding:0 12px 22px;

    box-sizing:border-box;
}


/*
 * Tema explicitamente herdado do WordPress.
 */
#lm-wp-native-viewer[data-lm-theme="light"]{
    --lm-bg:#f4f6f8;
    --lm-panel:#ffffff;
    --lm-text:#182433;
    --lm-muted:#6c7884;
    --lm-line:rgba(30,45,60,.34);
    --lm-district:rgba(20,30,40,.70);
    --lm-highlight:rgba(255,255,255,.18);
}

#lm-wp-native-viewer[data-lm-theme="dark"]{
    --lm-bg:#15283b;
    --lm-panel:#20364a;
    --lm-text:#edf4fb;
    --lm-muted:#9dafbe;
    --lm-line:rgba(235,244,251,.32);
    --lm-district:rgba(255,255,255,.72);
    --lm-highlight:rgba(255,255,255,.16);
}


/*
 * Página WordPress.
 */
.lm-mapas-wp-page{
    width:100%;
    margin:0;
    padding:0;
}

.lm-mapas-wp-header{
    width:min(
        1060px,
        calc(100% - 28px)
    );

    margin:0 auto;

    padding:
        18px 0 10px;
}

.lm-mapas-wp-header h1{
    margin:
        0 0 4px;

    font-size:
        clamp(
            23px,
            2.4vw,
            31px
        );

    line-height:1.15;

    font-weight:750;
}

.lm-mapas-wp-header p{
    margin:0;

    font-size:13px;
    line-height:1.4;

    opacity:.70;
}


@media(max-width:700px){

    #lm-wp-native-viewer{
        padding:
            0 7px 16px;
    }

    .lm-mapas-wp-header{
        width:
            calc(
                100%
                - 20px
            );

        padding:
            12px 0 7px;
    }

    .lm-mapas-wp-header h1{
        font-size:20px;
    }

    .lm-mapas-wp-header p{
        font-size:12px;
    }
}


/* ============================================================
   LM-WP-HEADER-INFO-V17
   ============================================================ */

/* Uniformizar a barra do título com o resto da página */
.lm-mapas-wp-page{
    background:#15283b !important;
}

.lm-mapas-wp-header{
    background:#15283b !important;
    width:min(1120px, calc(100% - 28px)) !important;
    padding-top:18px !important;
    padding-bottom:8px !important;
    margin:0 auto 4px auto !important;
}

.lm-mapas-wp-header h1{
    margin:0 !important;
    color:#edf4fb !important;
    font-size:clamp(25px, 2.65vw, 35px) !important;
    line-height:1.15 !important;
    font-weight:760 !important;
}

/* Cartão da direita maior */
#lm-wp-native-viewer .lm-wp-about-card{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
    min-height:186px !important;
    padding:18px 16px 16px 16px !important;
    border-radius:16px !important;
    box-sizing:border-box !important;
}

#lm-wp-native-viewer .lm-wp-about-title{
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    margin:0 0 10px 0 !important;
}

#lm-wp-native-viewer .lm-wp-about-text{
    font-size:12px !important;
    line-height:1.42 !important;
    font-weight:600 !important;
    margin:0 0 12px 0 !important;
    opacity:.96 !important;
}

#lm-wp-native-viewer .lm-wp-about-upd-label{
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    opacity:.76 !important;
    margin:0 0 2px 0 !important;
}

#lm-wp-native-viewer .lm-wp-about-upd-value{
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    opacity:.86 !important;
    margin:0 !important;
}

@media(max-width:900px){

    .lm-mapas-wp-page{
        background:#15283b !important;
    }

    .lm-mapas-wp-header{
        width:calc(100% - 18px) !important;
        padding-top:12px !important;
        padding-bottom:6px !important;
        margin-bottom:2px !important;
    }

    .lm-mapas-wp-header h1{
        font-size:clamp(21px, 5.7vw, 29px) !important;
    }

    #lm-wp-native-viewer .lm-wp-about-card{
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        min-height:auto !important;
        padding:14px 14px 13px 14px !important;
    }

    #lm-wp-native-viewer .lm-wp-about-text{
        font-size:11.5px !important;
        line-height:1.40 !important;
    }
}

/* ============================================================
   LM-WP-ADMIN-BLACK-V21
   Limites administrativos pretos em todos os produtos
   ============================================================ */

#lm-wp-native-viewer .lm-concelho-lines{
    stroke:
        rgba(
            0,
            0,
            0,
            .58
        )
        !important;

    filter:none !important;
}

#lm-wp-native-viewer .lm-distrito-lines{
    stroke:
        rgba(
            0,
            0,
            0,
            .76
        )
        !important;

    filter:none !important;
}

#lm-wp-native-viewer .lm-country-outline{
    stroke:
        rgba(
            0,
            0,
            0,
            .86
        )
        !important;

    filter:none !important;
}


/* também no dark mode */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-concelho-lines{
    stroke:rgba(0,0,0,.58) !important;
}

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-distrito-lines{
    stroke:rgba(0,0,0,.76) !important;
}

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-country-outline{
    stroke:rgba(0,0,0,.86) !important;
}


/* ============================================================
   LM-WP-ADMIN-BLACK-MINUS40-V22
   -40% de visibilidade nos limites administrativos
   ============================================================ */

#lm-wp-native-viewer .lm-concelho-lines{
    stroke:
        rgba(
            0,
            0,
            0,
            .348
        )
        !important;
}

#lm-wp-native-viewer .lm-distrito-lines{
    stroke:
        rgba(
            0,
            0,
            0,
            .456
        )
        !important;
}

#lm-wp-native-viewer .lm-country-outline{
    stroke:
        rgba(
            0,
            0,
            0,
            .516
        )
        !important;
}


/* manter igual no dark mode */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-concelho-lines{
    stroke:rgba(0,0,0,.348) !important;
}

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-distrito-lines{
    stroke:rgba(0,0,0,.456) !important;
}

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-country-outline{
    stroke:rgba(0,0,0,.516) !important;
}


/* ============================================================
   LM-WP-ADMIN-ZOOM-V23
   Hierarquia dos limites administrativos por zoom
   ============================================================ */


/* ------------------------------------------------------------
   FREGUESIAS
   ------------------------------------------------------------ */

#lm-wp-native-viewer .lm-freguesia-lines{
    fill:none;

    stroke:
        rgba(
            0,
            0,
            0,
            .20
        )
        !important;

    stroke-width:
        .28
        !important;

    vector-effect:
        non-scaling-stroke;

    pointer-events:
        none;

    display:
        none;
}


/* ------------------------------------------------------------
   ESTADO BASE
   1.00x — apenas distritos + fronteira
   ------------------------------------------------------------ */

#lm-wp-native-viewer
.lm-concelho-lines{
    display:
        none;
}

#lm-wp-native-viewer
.lm-freguesia-lines{
    display:
        none;
}


/* ------------------------------------------------------------
   >= 1.50x
   CONCELHOS
   ------------------------------------------------------------ */

#lm-wp-native-viewer[data-lm-admin-zoom="concelhos"]
.lm-concelho-lines,

#lm-wp-native-viewer[data-lm-admin-zoom="freguesias"]
.lm-concelho-lines{
    display:
        inline;
}


/* ------------------------------------------------------------
   >= 4.00x
   FREGUESIAS
   ------------------------------------------------------------ */

#lm-wp-native-viewer[data-lm-admin-zoom="freguesias"]
.lm-freguesia-lines{
    display:
        inline;
}


/*
 * Garantir o preto discreto aprovado
 * para concelhos quando ficam visíveis.
 */
#lm-wp-native-viewer
.lm-concelho-lines{
    stroke:
        rgba(
            0,
            0,
            0,
            .348
        )
        !important;
}



/* ============================================================
   LM-WP-DAILY-SST-POINT-V24
   Ponto selecionado — desktop
   ============================================================ */

@media(min-width:901px){

    #lm-wp-native-viewer
    .lm-selected-point{

        width:
            150px
            !important;

        padding:
            13px
            12px
            !important;

        font-size:
            12px
            !important;

        line-height:
            1.38
            !important;

        border-radius:
            12px
            !important;
    }


    #lm-wp-native-viewer
    .lm-selected-point-title{

        margin-bottom:
            7px
            !important;

        font-size:
            11px
            !important;

        line-height:
            1.25
            !important;
    }


    #lm-wp-native-viewer
    .lm-selected-point
    .lm-tooltip-value{

        font-size:
            18px
            !important;

        line-height:
            1.15
            !important;

        margin-bottom:
            5px
            !important;
    }


    #lm-wp-native-viewer
    .lm-selected-point
    .lm-tooltip-place{

        font-size:
            12.5px
            !important;

        line-height:
            1.3
            !important;
    }


    #lm-wp-native-viewer
    .lm-selected-point
    .lm-tooltip-district,

    #lm-wp-native-viewer
    .lm-selected-point
    .lm-tooltip-row,

    #lm-wp-native-viewer
    .lm-selected-point
    .lm-tooltip-coord{

        font-size:
            11.5px
            !important;

        line-height:
            1.35
            !important;

        margin-top:
            4px
            !important;
    }
}


/* ------------------------------------------------------------
   DARK MODE
   ------------------------------------------------------------ */

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point{

    background:
        #20364a
        !important;

    border-color:
        rgba(
            180,
            205,
            224,
            .34
        )
        !important;

    color:
        #edf4fb
        !important;

    box-shadow:
        0 4px 14px
        rgba(
            0,
            0,
            0,
            .18
        )
        !important;
}


#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point-title{

    color:
        #b8c8d5
        !important;
}


#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-value{

    color:
        #ffffff
        !important;
}


#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-place{

    color:
        #edf4fb
        !important;
}


#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-district,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-row,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-coord{

    color:
        #b9c9d5
        !important;
}



/* ============================================================
   LM-WP-SST-SEA-V25
   Cartão ponto selecionado:
   cor original + tipografia mais legível
   ============================================================ */

#lm-wp-native-viewer
.lm-selected-point,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point{

    background:
        rgba(
            255,
            255,
            255,
            .92
        )
        !important;

    color:
        #263642
        !important;

    border-color:
        rgba(
            130,
            150,
            165,
            .38
        )
        !important;

    box-shadow:
        0 2px 8px
        rgba(
            0,
            0,
            0,
            .06
        )
        !important;
}


#lm-wp-native-viewer
.lm-selected-point-title,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point-title{

    color:
        #50636f
        !important;

    font-weight:
        850
        !important;
}


#lm-wp-native-viewer
.lm-selected-point
.lm-tooltip-value,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-value{

    color:
        #10212c
        !important;

    font-weight:
        850
        !important;
}


#lm-wp-native-viewer
.lm-selected-point
.lm-tooltip-place,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-place{

    color:
        #1d303c
        !important;

    font-weight:
        850
        !important;
}


#lm-wp-native-viewer
.lm-selected-point
.lm-tooltip-district,

#lm-wp-native-viewer
.lm-selected-point
.lm-tooltip-row,

#lm-wp-native-viewer
.lm-selected-point
.lm-tooltip-coord,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-district,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-row,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-selected-point
.lm-tooltip-coord{

    color:
        #536874
        !important;

    font-weight:
        600
        !important;
}


/* ============================================================
   LM-WP-HEADER-THEME-V30
   Cabeçalho integrado no tema claro/escuro
   ============================================================ */

body.lm-mapas-native-page
.lm-mapas-wp-header{
    background:
        transparent
        !important;
}

/*
 * Em light mode o título passa a escuro.
 * O fundo vem do próprio site.
 */
@media(prefers-color-scheme:light){

    body.lm-mapas-native-page
    .lm-mapas-wp-header h1{
        color:
            #1d2935
            !important;
    }
}

/*
 * Dark continua claro.
 */
@media(prefers-color-scheme:dark){

    body.lm-mapas-native-page
    .lm-mapas-wp-header h1{
        color:
            #edf4fb
            !important;
    }
}


/* ============================================================
   LM-WP-HEADER-THEME-V31
   Fundo correto do cabeçalho conforme tema SmartMag
   ============================================================ */


/* LIGHT MODE */
html:not(.s-dark):not(.site-s-dark)
body.lm-mapas-native-page
.lm-mapas-wp-page{
    background:
        #f4f6f8
        !important;
}

html:not(.s-dark):not(.site-s-dark)
body.lm-mapas-native-page
.lm-mapas-wp-header{
    background:
        transparent
        !important;
}

html:not(.s-dark):not(.site-s-dark)
body.lm-mapas-native-page
.lm-mapas-wp-header h1{
    color:
        #182433
        !important;
}


/* DARK MODE */
html:is(.s-dark,.site-s-dark)
body.lm-mapas-native-page
.lm-mapas-wp-page{
    background:
        #15283b
        !important;
}

html:is(.s-dark,.site-s-dark)
body.lm-mapas-native-page
.lm-mapas-wp-header{
    background:
        transparent
        !important;
}

html:is(.s-dark,.site-s-dark)
body.lm-mapas-native-page
.lm-mapas-wp-header h1{
    color:
        #edf4fb
        !important;
}


/* mobile — anular também a regra antiga do V17 */
@media(max-width:900px){

    html:not(.s-dark):not(.site-s-dark)
    body.lm-mapas-native-page
    .lm-mapas-wp-page{
        background:
            #f4f6f8
            !important;
    }

    html:is(.s-dark,.site-s-dark)
    body.lm-mapas-native-page
    .lm-mapas-wp-page{
        background:
            #15283b
            !important;
    }
}


/* ============================================================
   LM-WP-THEME-REAL-V32
   Tema da barra de título sem depender de body_class
   ============================================================ */


/* LIGHT */
html:not(.s-dark):not(.site-s-dark)
.lm-mapas-wp-page{
    background:
        #f4f6f8
        !important;
}

html:not(.s-dark):not(.site-s-dark)
.lm-mapas-wp-header{
    background:
        #f4f6f8
        !important;
}

html:not(.s-dark):not(.site-s-dark)
.lm-mapas-wp-header h1{
    color:
        #182433
        !important;
}


/* DARK */
html:is(.s-dark,.site-s-dark)
.lm-mapas-wp-page{
    background:
        #15283b
        !important;
}

html:is(.s-dark,.site-s-dark)
.lm-mapas-wp-header{
    background:
        #15283b
        !important;
}

html:is(.s-dark,.site-s-dark)
.lm-mapas-wp-header h1{
    color:
        #edf4fb
        !important;
}


/* ============================================================
   LM-WP-SIDE-NEAR-MAP-V33
   Desktop — aproximar zoom + ponto selecionado do mapa
   ============================================================ */

@media(min-width:901px){

    /*
     * Antes estavam em left:0.
     * Aproximamos bastante do mapa.
     */
    #lm-wp-native-viewer
    .lm-map-stage-v7
    #lm-zoom-bar-outside{
        left:
            74px
            !important;
    }


    #lm-wp-native-viewer
    .lm-map-stage-v7
    .lm-selected-point{
        left:
            74px
            !important;
    }
}


/* ============================================================
   LM-WP-DESKTOP-MAP-PLUS15-V35
   Desktop — mapa + shell ~15% maiores sem deformação
   ============================================================ */

@media(min-width:901px){

    #lm-wp-native-viewer{

        --lm-desktop-map-w:
            min(
                700px,
                calc(
                    (100dvh - 245px)
                    * .8472
                )
            )
            !important;
    }


    /*
     * A shell cresce em largura.
     * O SVG mantém width:100% / height:auto,
     * portanto conserva exatamente a proporção.
     */
    .lm-map-stage-v7
    .lm-map-shell{

        width:
            var(--lm-desktop-map-w)
            !important;

        max-width:
            none
            !important;
    }


    /*
     * Toolbar e slider acompanham o novo mapa.
     */
    .lm-toolbar,
    .lm-time-slider-wrap{

        width:
            var(--lm-desktop-map-w)
            !important;

        max-width:
            none
            !important;
    }


    /*
     * Botão inferior acompanha também.
     */
    .lm-help{

        width:
            var(--lm-desktop-map-w)
            !important;
    }
}


/*
 * Desktop mais baixo:
 * continua responsivo à altura, mas ~20% maior
 * que a regra anterior.
 */
@media(min-width:901px) and (max-height:820px){

    #lm-wp-native-viewer{

        --lm-desktop-map-w:
            calc(
                (100dvh - 225px)
                * .8472
            )
            !important;
    }
}

/* LM-WP-DESKTOP-MAP-PLUS15-V35 END */


/* ============================================================
   LM-WP-HELP-MODAL-DARK-V36
   Corrige popup "Como utilizar" em dark mode
   ============================================================ */


/* DARK — cartão */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card{

    background:
        #20364a
        !important;

    color:
        #edf4fb
        !important;

    border-color:
        rgba(235,244,251,.18)
        !important;
}


/* DARK — títulos */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card h1,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card h2,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card h1,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card h2,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card h1,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card h2{

    color:
        #edf4fb
        !important;
}


/* DARK — textos secundários */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card p,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card li,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card p,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card li,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card p,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card li{

    color:
        #dce7f0
        !important;
}


/* DARK — blocos dos ícones */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card .lm-help-icon,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card .lm-help-icon,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card .lm-help-icon{

    background:
        #2b4358
        !important;

    color:
        #edf4fb
        !important;
}


/* DARK — separador */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card hr,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card hr,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card hr{

    border-color:
        rgba(235,244,251,.16)
        !important;
}


/* DARK — checkbox / rodapé */
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-help-modal-card label,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-howto-modal-card label,
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-modal-card label{

    color:
        #edf4fb
        !important;
}


/* LM-WP-HELP-MODAL-DARK-V36 END */


/* ============================================================
   LM-WP-HELP-DARK-V37
   Modal real + tema no próprio overlay
   ============================================================ */

.lm-help-overlay[data-lm-theme="dark"]
.lm-help-modal{
    background:
        #20364a
        !important;

    color:
        #edf4fb
        !important;

    border-color:
        rgba(235,244,251,.18)
        !important;
}


/* Eyebrow */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-eyebrow{
    color:
        #9fb1bf
        !important;
}


/* Título */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-title{
    color:
        #edf4fb
        !important;
}


/* Introdução */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-intro{
    color:
        #b9c8d3
        !important;
}


/* Título computador / telemóvel */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-device{
    color:
        #edf4fb
        !important;
}


/* Instruções */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-list,
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-list li{
    color:
        #edf4fb
        !important;
}


/* Quadrados dos ícones */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-icon{
    background:
        #2b4358
        !important;

    color:
        #edf4fb
        !important;
}


/* Rodapé */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-footer{
    border-color:
        rgba(235,244,251,.16)
        !important;
}


/* Não mostrar mais */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-never{
    color:
        #edf4fb
        !important;
}


/* Checkbox */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-never input{
    accent-color:
        #3a8fba;
}


/* botão mantém azul */
.lm-help-overlay[data-lm-theme="dark"]
.lm-help-button{
    background:
        #2f83ad
        !important;

    color:
        #ffffff
        !important;
}


/* LM-WP-HELP-DARK-V37 END */


/* ============================================================
   LM-WP-FOOTER-COMPACT-V38
   Remove espaço vazio entre viewer e footer
   Apenas página Mapas Meteorológicos
   ============================================================ */


/* Página termina logo após o botão "Como utilizar" */
body.page-template-lm-mapas-continente
.lm-mapas-wp-page{
    min-height:0 !important;
    margin-bottom:0 !important;
    padding-bottom:14px !important;
}


/* Viewer sem reserva adicional inferior */
body.page-template-lm-mapas-continente
#lm-wp-native-viewer{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}


/* Último elemento do viewer */
body.page-template-lm-mapas-continente
.lm-help-launch-wrap{
    margin-bottom:0 !important;
}


/*
 * O upper footer desta página está vazio.
 * Não deve ocupar qualquer altura.
 */
body.page-template-lm-mapas-continente
.main-footer
.upper-footer{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
}


/* Footer começa imediatamente depois da página */
body.page-template-lm-mapas-continente
.main-footer{
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:0 !important;
}


/* Compactar a única zona que contém conteúdo */
body.page-template-lm-mapas-continente
.main-footer
.lower-footer{
    margin:0 !important;
    padding:
        18px 0
        !important;
    min-height:0 !important;
}


/* Remover reservas internas do SmartMag */
body.page-template-lm-mapas-continente
.main-footer
.lower-footer > .wrap,
body.page-template-lm-mapas-continente
.main-footer
.lower-footer .inner{
    min-height:0 !important;
}


/* LM-WP-FOOTER-COMPACT-V38 END */


/* ============================================================
   LM-WP-MAPAS-ILHAS-V2
   ============================================================ */

body.page-template-lm-mapas-ilhas
.lm-wp-islands-switcher{
    width:
        var(
            --lm-desktop-map-w,
            min(700px,100%)
        );
    max-width:100%;
    margin:
        0 auto 14px;
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr)
        auto;
    gap:10px;
    align-items:end;
}


body.page-template-lm-mapas-ilhas
.lm-wp-islands-switcher label{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:5px;
    font-size:11px;
    font-weight:700;
}


body.page-template-lm-mapas-ilhas
.lm-wp-islands-switcher select,
body.page-template-lm-mapas-ilhas
.lm-wp-island-summary{
    height:38px;
    min-width:0;
    padding:
        0 11px;
    border:
        1px solid
        rgba(80,100,118,.28);
    border-radius:9px;
    background:#fff;
    color:#182433;
    box-sizing:border-box;
    font:inherit;
    font-size:12px;
    font-weight:650;
}


body.page-template-lm-mapas-ilhas
.lm-wp-islands-switcher select{
    width:100%;
}


body.page-template-lm-mapas-ilhas
.lm-wp-island-summary{
    width:auto;
    cursor:pointer;
    white-space:nowrap;
}


html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-ilhas
.lm-wp-islands-switcher select,

html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-ilhas
.lm-wp-island-summary{
    background:#20364a;
    color:#edf4fb;
    border-color:
        rgba(235,244,251,.18);
}


/* ============================================================
   RESUMO 3 DIAS
   ============================================================ */

.lm-islands-summary-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    padding:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        rgba(8,18,28,.82);
    backdrop-filter:
        blur(5px);
}


.lm-islands-summary-card{
    width:
        min(
            1100px,
            100%
        );
    max-height:
        calc(
            100dvh - 36px
        );
    overflow:auto;
    padding:14px;
    border-radius:16px;
    background:#fff;
    color:#182433;
    box-shadow:
        0 20px 60px
        rgba(0,0,0,.32);
}


.lm-islands-summary-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:10px;
}


.lm-islands-summary-head button{
    width:36px;
    height:36px;
    padding:0;
    border:0;
    border-radius:50%;
    cursor:pointer;
    font-size:26px;
    line-height:1;
}


.lm-islands-summary-days{
    display:flex;
    gap:7px;
    margin-bottom:10px;
}


.lm-islands-summary-days button{
    min-height:34px;
    padding:
        0 13px;
    border:
        1px solid
        rgba(60,80,100,.20);
    border-radius:8px;
    background:#f2f5f7;
    cursor:pointer;
    font-weight:650;
}


.lm-islands-summary-days
button.is-active{
    background:#2f83ad;
    color:#fff;
}


.lm-islands-summary-content svg{
    display:block;
    width:100%;
    height:auto;
    margin:auto;
}


html:is(.s-dark,.site-s-dark)
.lm-islands-summary-card{
    background:#20364a;
    color:#edf4fb;
}


html:is(.s-dark,.site-s-dark)
.lm-islands-summary-days button{
    background:#2b4358;
    color:#edf4fb;
    border-color:
        rgba(235,244,251,.18);
}


html:is(.s-dark,.site-s-dark)
.lm-islands-summary-days
button.is-active{
    background:#2f83ad;
    color:#fff;
}


/* Mesmo acabamento inferior do Continente */

body.page-template-lm-mapas-ilhas
.lm-mapas-wp-page{
    min-height:0 !important;
    margin-bottom:0 !important;
    padding-bottom:14px !important;
}


body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}


body.page-template-lm-mapas-ilhas
.main-footer
.upper-footer{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
}


body.page-template-lm-mapas-ilhas
.main-footer{
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:0 !important;
}


body.page-template-lm-mapas-ilhas
.main-footer
.lower-footer{
    margin:0 !important;
    padding:
        18px 0
        !important;
    min-height:0 !important;
}


@media(max-width:900px){

    body.page-template-lm-mapas-ilhas
    .lm-wp-islands-switcher{
        width:100%;
        grid-template-columns:
            minmax(0,1fr)
            minmax(0,1fr);
        padding:
            0 12px;
        margin-bottom:12px;
    }


    body.page-template-lm-mapas-ilhas
    .lm-wp-island-summary{
        grid-column:
            1 / -1;
        width:100%;
    }


    .lm-islands-summary-overlay{
        padding:8px;
    }


    .lm-islands-summary-card{
        padding:10px;
        max-height:
            calc(
                100dvh - 16px
            );
    }
}

/* LM-WP-MAPAS-ILHAS-V2 END */


/* ============================================================
   LM-WP-SIDE-ANCHOR-MAP-V39
   Desktop:
   elementos laterais ancorados às bordas REAIS do mapa
   sem alterar o DOM
   ============================================================ */

@media(min-width:901px){

    /*
     * COLUNA ESQUERDA
     *
     * O lado DIREITO destes elementos fica 14px antes
     * da borda esquerda do mapa.
     */

    #lm-wp-native-viewer
    .lm-map-stage-v7
    #lm-zoom-bar-outside{

        left:auto !important;

        right:
            calc(
                50%
                + (
                    var(--lm-desktop-map-w)
                    / 2
                )
                + 14px
            )
            !important;
    }


    #lm-wp-native-viewer
    .lm-map-stage-v7
    .lm-selected-point{

        left:auto !important;

        right:
            calc(
                50%
                + (
                    var(--lm-desktop-map-w)
                    / 2
                )
                + 14px
            )
            !important;
    }


    /*
     * COLUNA DIREITA
     *
     * O lado ESQUERDO do cartão começa 14px depois
     * da borda direita REAL do mapa.
     *
     * Esta é a única regra desktop responsável
     * pelo posicionamento horizontal do cartão.
     */

    #lm-wp-native-viewer
    .lm-map-stage-v7
    .lm-map-meta-desktop,

    #lm-wp-native-viewer
    .lm-map-stage-v7
    #lm-map-meta-desktop{

        position:absolute !important;
        top:0 !important;

        right:auto !important;

        left:
            calc(
                50%
                + (
                    var(--lm-desktop-map-w)
                    / 2
                )
                + 14px
            )
            !important;
    }
}

/* LM-WP-SIDE-ANCHOR-MAP-V39 END */








/* ============================================================
   LM-WP-TITLES-RESET-ILHAS-UNIFORM-V41
   ============================================================ */


/* ============================================================
   TÍTULO DA PÁGINA
   ============================================================ */

/* Desktop = uma linha, com hífen */
.lm-mapas-wp-header
.lm-page-title-main,

.lm-mapas-wp-header
.lm-page-title-sep,

.lm-mapas-wp-header
.lm-page-title-region{
    display:inline;
}


/* Mobile = exatamente duas linhas, sem hífen */
@media(max-width:767px){

    .lm-mapas-wp-header h1{
        line-height:1.08 !important;
    }

    .lm-mapas-wp-header
    .lm-page-title-main,

    .lm-mapas-wp-header
    .lm-page-title-region{
        display:block !important;
    }

    .lm-mapas-wp-header
    .lm-page-title-sep{
        display:none !important;
    }

    .lm-mapas-wp-header
    .lm-page-title-region{
        margin-top:3px !important;
    }
}


/* ============================================================
   RESET — ESCONDER QUALQUER TEXTO REAL
   ============================================================ */

/*
 * Mesmo que o HTML diga RESET, 100%, etc.,
 * visualmente mostramos SEMPRE apenas ↻.
 */
#lm-wp-native-viewer
#lm-zoom-reset{
    font-size:0 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:0 !important;
}


#lm-wp-native-viewer
#lm-zoom-reset::before{
    content:"↻";

    display:block;

    font-size:28px !important;
    font-weight:700 !important;
    line-height:1 !important;
}


/* ============================================================
   ILHAS — VIEWPORT DO MAPA SEMPRE QUADRADO
   ============================================================ */

/*
 * Só nas Ilhas.
 *
 * A largura continua exatamente a mesma que o viewer já
 * calcula. A altura passa a seguir essa largura, portanto
 * São Miguel, Corvo, Madeira, Porto Santo, etc. usam todos
 * a mesma área quadrada.
 */
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
#lm-map{
    display:block !important;

    width:100% !important;
    height:auto !important;

    aspect-ratio:1 / 1 !important;

    preserve-aspect-ratio:
        xMidYMid meet;
}


/*
 * Tipografia dos SVG das ilhas.
 *
 * Os valores abaixo são calculados dinamicamente pelo JS
 * para corresponder sempre ao mesmo tamanho VISUAL em px,
 * independentemente do viewBox/nx/ny da ilha.
 */
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-district-label{
    font-size:
        var(
            --lm-ilha-district-font
        )
        !important;

    stroke-width:
        var(
            --lm-ilha-district-stroke
        )
        !important;
}


body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-concelho-label{
    font-size:
        var(
            --lm-ilha-concelho-font
        )
        !important;

    stroke-width:
        var(
            --lm-ilha-concelho-stroke
        )
        !important;
}


body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-freg-label{
    font-size:
        var(
            --lm-ilha-freg-font
        )
        !important;

    stroke-width:
        var(
            --lm-ilha-freg-stroke
        )
        !important;
}


body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-mountain-symbol{
    font-size:
        var(
            --lm-ilha-mountain-symbol-font
        )
        !important;

    stroke-width:
        var(
            --lm-ilha-mountain-stroke
        )
        !important;
}


body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-mountain-label{
    font-size:
        var(
            --lm-ilha-mountain-font
        )
        !important;

    stroke-width:
        var(
            --lm-ilha-mountain-stroke
        )
        !important;
}


/* LM-WP-TITLES-RESET-ILHAS-UNIFORM-V41 END */



/* ============================================================
   LM-WP-CONTINENTE-RESUMO3D-CSS-V46
   ============================================================ */

body.page-template-lm-mapas-continente
.lm-wp-continent-summary-wrap{

    width:
        var(
            --lm-desktop-map-w,
            min(700px,100%)
        );

    max-width:100%;

    margin:
        0 auto 14px;

    display:flex;

    justify-content:flex-end;
}


body.page-template-lm-mapas-continente
.lm-wp-continent-summary{

    height:38px;

    width:auto;

    min-width:0;

    padding:
        0 11px;

    border:
        1px solid
        rgba(80,100,118,.28);

    border-radius:9px;

    background:#fff;

    color:#182433;

    box-sizing:border-box;

    font:inherit;

    font-size:12px;

    font-weight:650;

    cursor:pointer;

    white-space:nowrap;
}


html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-continente
.lm-wp-continent-summary{

    background:#20364a;

    color:#edf4fb;

    border-color:
        rgba(235,244,251,.18);
}


@media(max-width:900px){

    body.page-template-lm-mapas-continente
    .lm-wp-continent-summary-wrap{

        width:100%;

        padding:
            0 12px;

        box-sizing:border-box;

        margin-bottom:12px;
    }


    body.page-template-lm-mapas-continente
    .lm-wp-continent-summary{

        width:100%;
    }
}

/* LM-WP-CONTINENTE-RESUMO3D-CSS-V46 END */



/* ============================================================
   LM-WP-CONTINENTE-RESUMO-TOOLBAR-V53
   ============================================================ */

@media(min-width:901px){

    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary-wrap{

        width:auto !important;
        max-width:none !important;

        margin:0 !important;
        padding:0 !important;

        display:flex !important;
        flex:0 0 auto !important;

        align-self:flex-end !important;

        justify-content:center !important;
        align-items:center !important;
    }


    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary{

        width:auto !important;
        min-width:max-content !important;

        height:38px !important;

        margin:0 !important;
        padding:0 12px !important;

        white-space:nowrap !important;
    }
}

/* LM-WP-CONTINENTE-RESUMO-TOOLBAR-V53 END */





/* ============================================================
   LM-WP-CONTINENTE-RESUMO-GRID-V56

   Desktop:
   coluna 1 = Produto
   coluna 2 = Data
   coluna 3 = Resumo
   ============================================================ */

@media(min-width:901px){

    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar{

        display:grid !important;

        grid-template-columns:
            minmax(0,1.45fr)
            minmax(0,1fr)
            max-content
            !important;

        width:
            calc(
                var(--lm-desktop-map-w)
                + 118px
            )
            !important;

        max-width:
            calc(100% - 20px)
            !important;

        gap:8px !important;

        align-items:end !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }


    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-toolbar-field-product{

        grid-column:1 !important;
        grid-row:1 !important;

        min-width:0 !important;
    }


    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-toolbar-field-date{

        grid-column:2 !important;
        grid-row:1 !important;

        min-width:0 !important;
    }


    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary-wrap{

        grid-column:3 !important;
        grid-row:1 !important;

        align-self:end !important;

        width:auto !important;
        max-width:none !important;

        margin:0 !important;
        padding:0 !important;

        justify-self:start !important;
    }


    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary{

        width:auto !important;
        min-width:max-content !important;

        height:40px !important;

        margin:0 !important;
        padding:0 10px !important;

        white-space:nowrap !important;
    }

}

/* LM-WP-CONTINENTE-RESUMO-GRID-V56 END */


/* ============================================================
   LM-WP-PAGE-TITLE-CENTER-V57

   - Centrar o título da página
   - Reduzir ligeiramente o botão "Resumo 3 dias"
   ============================================================ */

/* ------------------------------------------------------------
   TÍTULO — Continente + Ilhas
   ------------------------------------------------------------ */

.lm-mapas-wp-header{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
}

.lm-mapas-wp-header h1{
    width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
}

.lm-mapas-wp-header .lm-page-title-main,
.lm-mapas-wp-header .lm-page-title-region{
    text-align:center !important;
}

/* ------------------------------------------------------------
   BOTÃO "Resumo 3 dias" — ligeiramente menor
   ------------------------------------------------------------ */

@media(min-width:901px){

    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary,
    
    body.page-template-lm-mapas-ilhas
    .lm-wp-islands-switcher
    .lm-wp-island-summary{

        height:38px !important;
        padding:0 9px !important;
        font-size:12px !important;
        letter-spacing:.045em !important;
        border-radius:12px !important;
    }

}

/* ------------------------------------------------------------
   MOBILE — continua centrado e com quebra em 2 linhas
   ------------------------------------------------------------ */

@media(max-width:900px){

    .lm-mapas-wp-header{
        text-align:center !important;
    }

    .lm-mapas-wp-header h1{
        text-align:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

}

/* LM-WP-PAGE-TITLE-CENTER-V57 END */

/* ============================================================
   LM-WP-CONTINENTE-RESUMO-SMALLER-V58
   ============================================================ */

@media(min-width:901px){

    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary{

        height:34px !important;
        min-height:34px !important;

        padding:0 8px !important;

        font-size:11px !important;
        font-weight:700 !important;

        letter-spacing:.035em !important;

        border-radius:10px !important;
    }

}

/* LM-WP-CONTINENTE-RESUMO-SMALLER-V58 END */

/* ============================================================
   LM-WP-CONTINENTE-RESUMO-MEDIUM-V59
   Meio-termo entre V57 e V58
   ============================================================ */

@media(min-width:901px){

    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary{

        height:36px !important;
        min-height:36px !important;

        padding:0 9px !important;

        font-size:11.5px !important;
        font-weight:700 !important;

        letter-spacing:.04em !important;

        border-radius:11px !important;
    }

}

/* LM-WP-CONTINENTE-RESUMO-MEDIUM-V59 END */

/* ============================================================
   LM-WP-CONTINENTE-RESUMO-PLUS5-V60
   +5% face ao V59
   ============================================================ */

@media(min-width:901px){

    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-toolbar
    .lm-wp-continent-summary{

        height:38px !important;
        min-height:38px !important;

        padding:0 9.5px !important;

        font-size:12px !important;
        font-weight:700 !important;

        letter-spacing:.042em !important;

        border-radius:11.5px !important;
    }

}

/* LM-WP-CONTINENTE-RESUMO-PLUS5-V60 END */


/* ============================================================
   LM-WP-LEFT-TOOLS-SYMMETRY-V64
   Desktop Continente + Ilhas
   Aproxima os controlos da esquerda ao mapa, com a mesma
   lógica/folga do cartão da direita.
   ============================================================ */

@media(min-width:901px){

    #lm-wp-native-viewer
    .lm-map-stage-v7
    #lm-zoom-bar-outside,

    #lm-wp-native-viewer
    .lm-map-stage-v7
    .lm-selected-point{

        right:auto !important;

        left:
            calc(
                50%
                - (
                    var(--lm-desktop-map-w)
                    / 2
                )
            )
            !important;

        transform:
            translateX(
                calc(-100% - 14px)
            )
            !important;
    }
}

/* LM-WP-LEFT-TOOLS-SYMMETRY-V64 END */


/* ============================================================
   LM-WP-LABEL-SIZES-V65
   Continente:
   distrito +5%
   concelho +5%
   freguesia +20%
   ============================================================ */

body.page-template-lm-mapas-continente
#lm-wp-native-viewer
.lm-district-label{
    font-size:3.4125px !important;
}

body.page-template-lm-mapas-continente
#lm-wp-native-viewer
.lm-concelho-label{
    font-size:3.486px !important;
}

body.page-template-lm-mapas-continente
#lm-wp-native-viewer
.lm-freg-label{
    font-size:3.36px !important;
}

/* LM-WP-LABEL-SIZES-V65 END */

/* ============================================================
   LM-WP-MOBILE-LABEL-SIZES-V66
   MOBILE ONLY
   Freguesias +10%
   Montanhas +5%
   ============================================================ */

@media(max-width:900px){

    /* CONTINENTE — freguesias
       3.36 × 1.10 = 3.696 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-freg-label{
        font-size:3.696px !important;
    }

    /* CONTINENTE — montanhas
       3.18 × 1.05 = 3.339 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-mountain-symbol{
        font-size:3.339px !important;
    }

    /* 2.80 × 1.05 = 2.94 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-mountain-label{
        font-size:2.94px !important;
    }


    /* ILHAS
       Mantém o sistema dinâmico por viewBox.
       Apenas multiplica visualmente no mobile. */

    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-freg-label{
        font-size:
            calc(
                var(--lm-ilha-freg-font)
                * 1.10
            )
            !important;
    }

    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-mountain-symbol{
        font-size:
            calc(
                var(--lm-ilha-mountain-symbol-font)
                * 1.05
            )
            !important;
    }

    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-mountain-label{
        font-size:
            calc(
                var(--lm-ilha-mountain-font)
                * 1.05
            )
            !important;
    }
}

/* LM-WP-MOBILE-LABEL-SIZES-V66 END */

/* ============================================================
   LM-WP-MOBILE-ADMIN-SIZES-V67
   MOBILE ONLY
   Distritos +10%
   Concelhos +8%
   ============================================================ */

@media(max-width:900px){

    /* CONTINENTE
       Distrito atual 3.4125 × 1.10 = 3.75375 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-district-label{
        font-size:3.75375px !important;
    }

    /* Concelho atual 3.486 × 1.08 = 3.76488 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-concelho-label{
        font-size:3.76488px !important;
    }


    /* ILHAS — preservar dimensionamento dinâmico por ilha */

    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-district-label{
        font-size:
            calc(
                var(--lm-ilha-district-font)
                * 1.10
            )
            !important;
    }

    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-concelho-label{
        font-size:
            calc(
                var(--lm-ilha-concelho-font)
                * 1.08
            )
            !important;
    }
}

/* LM-WP-MOBILE-ADMIN-SIZES-V67 END */

/* ============================================================
   LM-WP-MOBILE-ALL-LABELS-PLUS10-V68
   MOBILE ONLY
   +10% adicional sobre os tamanhos mobile atuais
   ============================================================ */

@media(max-width:900px){

    /* ========================================================
       CONTINENTE
       ======================================================== */

    /* Distrito:
       3.75375 × 1.10 = 4.129125 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-district-label{
        font-size:4.129125px !important;
    }

    /* Concelho:
       3.76488 × 1.10 = 4.141368 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-concelho-label{
        font-size:4.141368px !important;
    }

    /* Freguesia:
       3.696 × 1.10 = 4.0656 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-freg-label{
        font-size:4.0656px !important;
    }

    /* Símbolo de montanha:
       3.339 × 1.10 = 3.6729 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-mountain-symbol{
        font-size:3.6729px !important;
    }

    /* Nome da montanha:
       2.94 × 1.10 = 3.234 */
    body.page-template-lm-mapas-continente
    #lm-wp-native-viewer
    .lm-mountain-label{
        font-size:3.234px !important;
    }


    /* ========================================================
       ILHAS
       Preserva dimensionamento dinâmico por viewBox
       ======================================================== */

    /* V67 = base × 1.10
       V68 = mais 10%
       Total = base × 1.21 */
    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-district-label{
        font-size:
            calc(
                var(--lm-ilha-district-font)
                * 1.21
            )
            !important;
    }

    /* V67 = base × 1.08
       V68 = mais 10%
       Total = base × 1.188 */
    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-concelho-label{
        font-size:
            calc(
                var(--lm-ilha-concelho-font)
                * 1.188
            )
            !important;
    }

    /* V66 = base × 1.10
       V68 = mais 10%
       Total = base × 1.21 */
    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-freg-label{
        font-size:
            calc(
                var(--lm-ilha-freg-font)
                * 1.21
            )
            !important;
    }

    /* V66 = base × 1.05
       V68 = mais 10%
       Total = base × 1.155 */
    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-mountain-symbol{
        font-size:
            calc(
                var(--lm-ilha-mountain-symbol-font)
                * 1.155
            )
            !important;
    }

    body.page-template-lm-mapas-ilhas
    #lm-wp-native-viewer
    .lm-mountain-label{
        font-size:
            calc(
                var(--lm-ilha-mountain-font)
                * 1.155
            )
            !important;
    }
}

/* LM-WP-MOBILE-ALL-LABELS-PLUS10-V68 END */

/* LM-WP-META-RIGHT-PERMANENT-V69 REMOVIDO — integrado no V39 */










/* ============================================================
   LM-WP-OPTGROUP-CONTRAST-V1

   Cabeçalhos das famílias meteorológicas:
   Temperatura, Vento, Precipitação, Mar, etc.
   ============================================================ */

.lm-toolbar select optgroup{
    color:var(--lm-text) !important;
    background:var(--lm-panel) !important;
    font-weight:800 !important;
}

.lm-toolbar select option{
    color:var(--lm-text);
    background:var(--lm-panel);
    font-weight:400;
}



/* ============================================================
   LM-WP-MAP-WATERMARK-V1
   Logo + www.lusometeo.com dentro do SVG do mapa.
   Fora de #lm-camera: não acompanha zoom/pan.
   ============================================================ */

.lm-map-watermark{
    pointer-events:none;
    opacity:.72;
}

.lm-map-watermark-logo{
    pointer-events:none;
}

.lm-map-watermark-url{
    pointer-events:none;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:2.2px;
    font-weight:500;
    letter-spacing:.05px;

    fill:#111111;

    paint-order:stroke;
    stroke:rgba(255,255,255,.55);
    stroke-width:.28px;
    stroke-linejoin:round;
}


/* DARK MODE */

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-map-watermark-logo{
    filter:
        brightness(0)
        invert(1);
}

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-map-watermark-url{
    fill:#111111;

    stroke:rgba(0,0,0,.48);
}


/* SmartMag dark antes da sincronização JS */

html:is(.s-dark,.site-s-dark)
.lm-map-watermark-logo{
    filter:
        brightness(0)
        invert(1);
}

html:is(.s-dark,.site-s-dark)
.lm-map-watermark-url{
    fill:#111111;

    stroke:rgba(0,0,0,.48);
}



/* ============================================================
   LM-WP-ILHAS-WATERMARK-HTML-V4

   Watermark das Ilhas em px reais.
   Não depende do SVG/viewBox.
   ============================================================ */

body.page-template-lm-mapas-ilhas
#lm-map-shell{
    position:relative !important;
}


body.page-template-lm-mapas-ilhas
.lm-island-watermark{
    position:absolute;

    z-index:4;

    display:flex;
    flex-direction:column;
    align-items:center;

    width:max-content;

    pointer-events:none;
    user-select:none;

    opacity:.72;
}


body.page-template-lm-mapas-ilhas
.lm-island-watermark-logo{
    display:block;

    width:48px;
    height:48px;

    object-fit:contain;

    pointer-events:none;
}


body.page-template-lm-mapas-ilhas
.lm-island-watermark-url{
    display:block;

    margin-top:2px;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:10px;
    line-height:1;

    font-weight:500;
    letter-spacing:0;

    white-space:nowrap;

    color:#111111;

    text-shadow:
        0 0 2px rgba(255,255,255,.75);

    pointer-events:none;
}


/*
 * Dark:
 * logo branco,
 * texto continua PRETO como pediste.
 */
html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-ilhas
.lm-island-watermark-logo,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-logo{
    filter:
        brightness(0)
        invert(1);
}


html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-ilhas
.lm-island-watermark-url,

#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-url{
    color:#111111;
}



/* ============================================================
   LM-WP-ILHAS-WATERMARK-LOGO-THEME-FIX-V5

   LIGHT -> logo preto
   DARK  -> logo branco
   ============================================================ */


/* LIGHT */

html:not(.s-dark):not(.site-s-dark)
body.page-template-lm-mapas-ilhas
.lm-island-watermark-logo{
    filter:none !important;
}


/*
 * Se o viewer ainda não sincronizou o tema,
 * o estado normal continua a ser o PNG original preto.
 */
body.page-template-lm-mapas-ilhas
.lm-island-watermark-logo{
    filter:none;
}


/* DARK SMARTMAG */

html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-ilhas
.lm-island-watermark-logo{
    filter:
        brightness(0)
        invert(1)
        !important;
}


/* DARK VIEWER */

body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-logo{
    filter:
        brightness(0)
        invert(1)
        !important;
}


/* LIGHT VIEWER — prevalece quando explicitamente light */

body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="light"]
.lm-island-watermark-logo{
    filter:none !important;
}



/* ============================================================
   LM-WP-ILHAS-WATERMARK-THEME-FINAL-V6

   LIGHT = logo preto
   DARK  = logo branco

   O texto permanece preto nos dois modos.
   ============================================================ */

body.page-template-lm-mapas-ilhas
.lm-island-watermark-logo{
    filter:none !important;
}


/* Viewer explicitamente LIGHT */
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="light"]
.lm-island-watermark-logo{
    filter:none !important;
}


/* SmartMag DARK */
html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-ilhas
.lm-island-watermark-logo{
    filter:
        brightness(0)
        invert(1)
        !important;
}


/* Viewer explicitamente DARK */
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-logo{
    filter:
        brightness(0)
        invert(1)
        !important;
}


/* URL sempre preta */
body.page-template-lm-mapas-ilhas
.lm-island-watermark-url,
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="light"]
.lm-island-watermark-url,
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-url{
    color:#111111 !important;
}


/* ============================================================
   LM-WP-ILHAS-WATERMARK-LOGO-ALWAYS-BLACK-V8

   O fundo do SVG é claro.
   O logo fica preto independentemente do tema do site.
   ============================================================ */

body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-island-watermark-logo{
    filter:none !important;
}


/* ============================================================
   LM-WP-ILHAS-WATERMARK-LOGO-BLACK-FINAL-V9

   Logo SEMPRE preto.
   Light ou dark não alteram esta imagem.
   ============================================================ */

html.s-dark
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-island-watermark-logo,

html.site-s-dark
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-island-watermark-logo,

html.s-dark
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-logo,

html.site-s-dark
body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-logo,

body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="dark"]
.lm-island-watermark-logo,

body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer[data-lm-theme="light"]
.lm-island-watermark-logo,

body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-island-watermark-logo{
    filter:none !important;
}



/* ============================================================
   LM-WP-CONTINENTE-VALID-INSIDE-MAP-V1

   Desktop apenas.
   Data/hora integrada no cartão claro do mapa.
   ============================================================ */

@media(min-width:901px){

    body.page-template-lm-mapas-continente
    #lm-map-shell
    #lm-valid.lm-valid-inside-map{

        order:-10;

        width:100%;

        box-sizing:border-box;

        margin:0 !important;

        padding:
            13px
            16px
            8px
            !important;

        text-align:center;

        font-size:15px !important;
        font-weight:700;

        line-height:1.2;

        color:#263746;

        background:transparent;

        flex:0 0 auto;
    }


    /*
     * O SVG continua exatamente com o mesmo
     * tamanho/proporção. Só acrescentámos
     * espaço claro POR CIMA dele.
     */
    body.page-template-lm-mapas-continente
    #lm-map-shell
    #lm-valid.lm-valid-inside-map
    + #lm-map{

        margin-top:0 !important;
    }


    /* Dark do site:
       fundo do mapa continua claro,
       portanto data continua escura. */
    #lm-wp-native-viewer[data-lm-theme="dark"]
    #lm-map-shell
    #lm-valid.lm-valid-inside-map{

        color:#263746;
    }

}



/* ============================================================
   LM-WP-ILHAS-VALID-INSIDE-MAP-V1

   Desktop apenas.
   Data/hora integrada no cartão claro das Ilhas.
   ============================================================ */

@media(min-width:901px){

    body.page-template-lm-mapas-ilhas
    #lm-map-shell
    #lm-valid.lm-valid-inside-map-ilhas{

        order:-10;

        width:100%;

        box-sizing:border-box;

        margin:0 !important;

        padding:
            13px
            16px
            8px
            !important;

        text-align:center;

        font-size:15px !important;
        font-weight:700;

        line-height:1.2;

        color:#263746;

        background:transparent;

        flex:0 0 auto;
    }


    body.page-template-lm-mapas-ilhas
    #lm-map-shell
    #lm-valid.lm-valid-inside-map-ilhas
    + #lm-map{

        margin-top:0 !important;
    }


    #lm-wp-native-viewer[data-lm-theme="dark"]
    #lm-map-shell
    #lm-valid.lm-valid-inside-map-ilhas{

        color:#263746;
    }

}



/* ============================================================
   LM-WP-DOWNLOAD-SVG-PNG-V2
   ============================================================ */

body.page-template-lm-mapas-continente
#lm-wp-native-viewer
.lm-help-launch-wrap{

    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;

    gap:8px !important;
}


body.page-template-lm-mapas-continente
#lm-wp-native-viewer
.lm-help-launch-wrap
.lm-howto-button{

    flex:1 1 0;
}


body.page-template-lm-mapas-continente
#lm-download-png{

    cursor:pointer;
}


body.page-template-lm-mapas-continente
#lm-download-png:disabled{

    opacity:.70;
    cursor:wait;
}

/* LM-WP-DOWNLOAD-SVG-PNG-V2 END */



/* ============================================================
   LM-WP-ILHAS-DOWNLOAD-PNG-V2
   ============================================================ */

body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-help-launch-wrap{

    display:flex !important;

    flex-direction:row !important;

    align-items:center !important;

    justify-content:center !important;

    gap:8px !important;
}


body.page-template-lm-mapas-ilhas
#lm-wp-native-viewer
.lm-help-launch-wrap
.lm-howto-button{

    flex:1 1 0;
}


body.page-template-lm-mapas-ilhas
#lm-download-png{

    cursor:pointer;
}


body.page-template-lm-mapas-ilhas
#lm-download-png:disabled{

    opacity:.70;

    cursor:wait;
}

/* LM-WP-ILHAS-DOWNLOAD-PNG-V2 END */









/* LM-WP-CONTINENTE-MOBILE-LAYOUT-V1 */
@media(max-width:900px){
    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-meta-mobile.lm-mobile-meta-under-title{
        display:block !important;
        position:static !important;
        width:100% !important;
        max-width:none !important;
        margin:5px auto 0 !important;
        padding:0 !important;
        color:inherit !important;
        opacity:.75;
        font-size:10px !important;
        font-weight:400;
        line-height:1.4 !important;
        text-align:center !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout{
        position:relative !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout
    #lm-valid.lm-valid-inside-map{
        display:block !important;
        position:relative !important;
        order:-10;
        flex:0 0 auto;
        width:100% !important;
        box-sizing:border-box;
        margin:0 !important;
        padding:12px 10px 9px !important;
        background:transparent !important;
        color:#263746 !important;
        font-size:13px !important;
        font-weight:700 !important;
        line-height:1.3 !important;
        text-align:center !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout #lm-map{
        margin-top:0 !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout #lm-zoom-bar-outside{
        position:absolute !important;
        inset:auto !important;
        top:var(--lm-mobile-zoom-top,52px) !important;
        right:8px !important;
        left:auto !important;
        bottom:auto !important;
        z-index:40 !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:5px !important;
        width:44px !important;
        margin:0 !important;
        padding:0 !important;
        background:transparent !important;
        transform:none !important;
        pointer-events:none;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout #lm-zoom-bar-outside .lm-zoom{
        position:static !important;
        inset:auto !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        gap:5px !important;
        width:auto !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout #lm-zoom-bar-outside button{
        width:44px !important;
        min-width:44px !important;
        height:44px !important;
        margin:0 !important;
        padding:0 !important;
        border:1px solid rgba(38,55,70,.18) !important;
        border-radius:9px !important;
        background:rgba(255,255,255,.48) !important;
        color:#263746 !important;
        box-shadow:none !important;
        font-size:21px !important;
        font-weight:700 !important;
        pointer-events:auto;
        touch-action:manipulation;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout #lm-zoom-bar-outside button:active{
        background:rgba(255,255,255,.8) !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-map-shell.lm-mobile-map-layout #lm-zoom-bar-outside .lm-zoom-value{
        position:static !important;
        inset:auto !important;
        display:block !important;
        width:44px !important;
        height:auto !important;
        box-sizing:border-box;
        margin:0 !important;
        padding:4px 1px !important;
        background:rgba(255,255,255,.4) !important;
        color:#263746 !important;
        border-radius:6px !important;
        font-size:9px !important;
        line-height:1.3 !important;
        text-align:center !important;
        transform:none !important;
    }
}


/* LM-WP-MOBILE-LAYOUT-V2 */
@media(max-width:900px){
    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:0 !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header h1{
        display:block !important;
        flex:none !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        text-align:center !important;
        font-size:clamp(18px,5.5vw,26px) !important;
        line-height:1.25 !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header h1 .lm-page-title-main,
    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header h1 .lm-page-title-region{
        display:block !important;
        width:100% !important;
        white-space:nowrap !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header h1 .lm-page-title-sep{
        display:none !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-wp-native-viewer #lm-map-shell.lm-mobile-map-layout #lm-valid,
    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-wp-native-viewer[data-lm-theme="dark"]
    #lm-map-shell.lm-mobile-map-layout #lm-valid{
        color:#263746 !important;
        -webkit-text-fill-color:#263746 !important;
        opacity:1 !important;
        text-shadow:none !important;
    }

    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-wp-native-viewer #lm-map-shell.lm-mobile-map-layout
    #lm-zoom-bar-outside #lm-zoom-reset{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;
        height:44px !important;
        padding:0 !important;
        font-size:23px !important;
        line-height:1 !important;
        overflow:hidden !important;
    }
}


/* LM-WP-RESET-WATERMARK-FINAL-V1 */

/* Uma única seta: o símbolo já está no texto do botão. */
body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-reset::before,
body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-reset::after{
    content:none !important;
    display:none !important;
}

body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-reset{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-indent:0 !important;
    text-align:center !important;
    background-image:none !important;
}

/* Continente: logo original em ambos os temas. */
html body.page-template-lm-mapas-continente
#lm-wp-native-viewer .lm-map-watermark-logo,
html:is(.s-dark,.site-s-dark)
body.page-template-lm-mapas-continente
#lm-wp-native-viewer .lm-map-watermark-logo,
html body.page-template-lm-mapas-continente
#lm-wp-native-viewer[data-lm-theme="dark"] .lm-map-watermark-logo{
    filter:none !important;
}

html body.page-template-lm-mapas-continente
#lm-wp-native-viewer .lm-map-watermark-url,
html body.page-template-lm-mapas-continente
#lm-wp-native-viewer[data-lm-theme="dark"] .lm-map-watermark-url{
    fill:#111111 !important;
}

/* LM-WP-MOBILE-HIDE-ZOOM-VALUE-V1 */
@media(max-width:900px){
    body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    #lm-wp-native-viewer #lm-map-shell.lm-mobile-map-layout
    #lm-zoom-bar-outside .lm-zoom-value{
        display:none !important;
    }
}


/* LM-MOBILE-ZOOM-LEFT-V1 */
@media (max-width:900px){
  #lm-wp-native-viewer .lm-map-stage-v7 #lm-zoom-bar-outside{
    left:8px !important;
    right:auto !important;
  }
}

/* LM-WP-RESET-BOTH-VIEWERS-COMPACT-V1 */
body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-bar-outside .lm-zoom{
    width:max-content !important;
    min-width:0 !important;
}

body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-bar-outside .lm-zoom button{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-bar-outside #lm-zoom-reset{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:0 !important;
    line-height:1 !important;
}

body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-reset::before{
    content:"↺" !important;
    display:block !important;
    font-size:22px !important;
    line-height:1 !important;
}

body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
#lm-wp-native-viewer #lm-zoom-reset::after{
    content:none !important;
    display:none !important;
}
/* LM-WP-RESET-BOTH-VIEWERS-COMPACT-V1 END */

/* LM-WP-MOBILE-ZOOM-LEFT-RESET-V103 */
@media(max-width:900px){
  html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
  #lm-wp-native-viewer #lm-map-shell.lm-mobile-map-layout
  #lm-zoom-bar-outside{
    position:absolute!important;
    left:10px!important;
    right:auto!important;
    inset-inline-start:10px!important;
    inset-inline-end:auto!important;
    top:var(--lm-mobile-zoom-top,10px)!important;
    width:max-content!important;
    max-width:calc(100% - 20px)!important;
    margin:0!important;
    transform:none!important;
  }

  html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
  #lm-wp-native-viewer #lm-map-shell.lm-mobile-map-layout
  #lm-zoom-bar-outside #lm-zoom-reset{
    font-size:22px!important;
    line-height:1!important;
    text-indent:0!important;
    background-image:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
  #lm-wp-native-viewer #lm-map-shell.lm-mobile-map-layout
  #lm-zoom-bar-outside #lm-zoom-reset::before,
  html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
  #lm-wp-native-viewer #lm-map-shell.lm-mobile-map-layout
  #lm-zoom-bar-outside #lm-zoom-reset::after{
    content:none!important;
    display:none!important;
  }
}

/* LM-MAPAS-REGION-NAV-V106 */
html body .lm-mapas-wp-header{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:14px!important;
}
html body .lm-mapas-wp-header h1{
    width:100%!important;
    margin:0!important;
    text-align:center!important;
}
html body .lm-mapas-wp-header h1 .lm-page-title-main{
    white-space:normal!important;
}
html body .lm-mapas-wp-header .lm-region-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin:0 0 8px;
}
html body .lm-mapas-wp-header .lm-region-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 18px;
    border:1px solid #cbd4dc;
    border-radius:8px;
    background:#fff;
    color:#182433;
    font:600 14px/1.25 inherit;
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    line-height:1.25;
    text-decoration:none!important;
    text-transform:none;
    transition:background .15s,border-color .15s;
}
html:is(.s-dark,.site-s-dark) body
.lm-mapas-wp-header .lm-region-link{
    background:#20364a;
    color:#edf4fb;
    border-color:#40566a;
}
html body .lm-mapas-wp-header .lm-region-link:hover{
    border-color:#1684d6;
}
html body .lm-mapas-wp-header .lm-region-link.is-active{
    background:#1684d6!important;
    border-color:#1684d6!important;
    color:#fff!important;
}
html body .lm-mapas-wp-header .lm-region-link:focus-visible{
    outline:2px solid #1684d6;
    outline-offset:3px;
}
@media(max-width:480px){
    html body .lm-mapas-wp-header .lm-region-nav{
        gap:8px;
    }
    html body .lm-mapas-wp-header .lm-region-link{
        padding:10px 12px;
        font-size:13px;
    }
}

/* LM-MOBILE-META-AFTER-NAV-V107 */
@media(max-width:900px){
    html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header h1{
        order:1!important;
    }

    html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header .lm-region-nav{
        order:2!important;
        margin-bottom:0!important;
    }

    html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header #lm-map-meta-mobile.lm-mobile-meta-under-title{
        order:3!important;
        display:block!important;
        position:static!important;
        box-sizing:border-box!important;
        width:100%!important;
        max-width:none!important;
        margin:0 auto!important;
        padding:10px 16px 14px!important;
        text-align:center!important;
        white-space:normal!important;
        line-height:1.5!important;
        color:inherit!important;
    }
}

/* LM-MOBILE-HEADER-SPACING-V108 */
@media(max-width:900px){
    html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header{
        gap:8px!important;
    }

    html body:is(.page-template-lm-mapas-continente,.page-template-lm-mapas-ilhas)
    .lm-mapas-wp-header #lm-map-meta-mobile.lm-mobile-meta-under-title{
        padding-bottom:2px!important;
    }
}
