.carto-actions {display:flex;flex-wrap:wrap;gap:6px;max-width:min(85vw,540px);margin-top:6px}
.carto-actions button {background:#fff;color:#173b30;border:1px solid #456f5b;border-radius:7px;padding:9px 12px;min-height:44px;font:600 14px/1.25 system-ui;cursor:pointer}
.carto-actions button[aria-pressed="true"] {background:#173b30;color:#fff}
.carto-actions button:disabled {opacity:.65;cursor:wait}
.carto-status {background:rgba(255,255,255,.96);color:#173b30;padding:4px 8px;border-radius:5px;max-width:min(80vw,460px);font:12px/1.4 system-ui}
.carto-status:empty {display:none}
.carto-exporting .carto-actions,.carto-exporting .carto-status,.carto-exporting .map-screen-button,.carto-exporting .map-zone-button,.carto-exporting .leaflet-control-zoom,.carto-exporting .leaflet-control-layers,.carto-exporting .leaflet-popup,.carto-exporting .leaflet-tooltip {visibility:hidden!important}
.carto-exporting * {animation:none!important;transition:none!important}

/* Carte dégagée : deux boutons seulement, sur ordinateur et sur téléphone. */
.map-viewport-controls.carto-compact-controls {flex-direction:row;align-items:flex-start;gap:6px;max-width:calc(100% - 68px)}
.carto-compact-controls > .map-screen-button,.carto-compact-controls > .carto-menu-toggle {min-height:44px;padding:8px 10px;font-size:13px;line-height:1.25;max-width:150px}
.carto-compact-controls > .carto-menu-toggle {min-width:66px;max-width:100px}
.carto-compact-controls .carto-tools-panel[hidden],.carto-tools-base[hidden] {display:none!important}
.carto-compact-controls .carto-tools-panel {position:absolute;top:calc(100% + 7px);right:0;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid #78917f;border-radius:10px;background:#fff;color:#173b30;box-shadow:0 4px 18px #0003;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;font:13px/1.4 system-ui;text-align:left}
.carto-tools-heading {display:flex;align-items:center;justify-content:space-between;gap:6px}
.carto-tools-heading .carto-tools-close {min-width:58px;min-height:44px;padding:6px;font-size:12px}
.carto-tools-panel .carto-actions {display:grid;gap:8px;margin:0;max-width:none}
.carto-tools-panel .carto-actions button,.carto-tools-panel .map-zone-button {width:100%;min-height:44px;margin:0}
.carto-tools-panel .leaflet-control-layers {float:none;margin:6px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;max-width:100%;background:transparent;font:13px/1.4 system-ui}
.carto-tools-panel .leaflet-control-layers-list {display:block!important;height:auto!important;max-height:none!important;padding:0;overflow:visible;border:0}
.carto-tools-panel .leaflet-control-layers-toggle {display:none!important}
.carto-tools-panel .leaflet-control-layers label {display:flex;align-items:center;min-height:44px;margin:0;cursor:pointer;white-space:normal}
.carto-tools-panel .leaflet-control-layers input {width:18px;height:18px;margin:0 7px 0 0;flex-shrink:0}
.carto-tools-panel .leaflet-control-layers label span {font-size:13px}
.carto-tools-panel .map-layer-status,.carto-tools-panel .carto-status {max-width:none;margin:0;padding:6px;font-size:12px;line-height:1.4;background:#f1f5ef;box-shadow:none}
.carto-compact-map .leaflet-control-attribution {font-size:9px;line-height:1.25;max-width:calc(100% - 52px)}
.carto-exporting .carto-menu-toggle,.carto-exporting .carto-tools-panel {visibility:hidden!important}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
  .carto-compact-map:not(.map-expanded):not(:fullscreen) {height:min(65svh,480px)!important;min-height:min(300px,75svh)!important;max-height:none!important}
  .carto-compact-controls > .map-screen-button,.carto-compact-controls > .carto-menu-toggle {font-size:12px;padding:8px;max-width:142px}
  .carto-compact-map .leaflet-control-zoom a {width:34px;height:36px;line-height:36px}
  .carto-tools-panel .leaflet-control-layers label {min-height:46px}
}

.carto-tools-panel .carto-actions button[aria-pressed]::before {content:"□ ";}
.carto-tools-panel .carto-actions button[aria-pressed="true"]::before {content:"✓ ";}
.carto-compact-controls .carto-menu-toggle[aria-expanded="true"] {background:#173b30;color:#fff}

/* Zones sûres iPhone ; conservation du repli CSS si Safari refuse le plein écran natif. */
.carto-compact-map {--carto-safe-bottom:env(safe-area-inset-bottom,0px)}
.carto-compact-map.map-expanded .leaflet-bottom {bottom:env(safe-area-inset-bottom,0px)}
.carto-compact-map.map-expanded .leaflet-left {left:env(safe-area-inset-left,0px)}
.carto-compact-map.map-expanded .leaflet-right {right:env(safe-area-inset-right,0px)}
.carto-compact-map.map-expanded .leaflet-top {top:env(safe-area-inset-top,0px)}
@supports not (height:1svh){@media(max-width:760px),(pointer:coarse) and (max-width:1100px){.carto-compact-map:not(.map-expanded):not(:fullscreen){height:65vh!important;min-height:min(300px,75vh)!important}}}

.carto-compact-map {--carto-safe-left:env(safe-area-inset-left,0px);--carto-safe-right:env(safe-area-inset-right,0px)}
.carto-compact-map.map-expanded .carto-tools-panel {right:env(safe-area-inset-right,0px)}
