:root{
  --bg:#f4f7f6;--surface:#fff;--surface-soft:#eef6f4;--text:#13231f;--muted:#687872;
  --line:#d9e5e1;--accent:#11685a;--accent-dark:#0b5145;--accent-soft:#dff2ed;
  --sponsor:#8a5b00;--sponsor-bg:#fff5cf;--danger:#a42b2b;--safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-app{height:100dvh;min-height:520px;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}
.app-header{height:52px;flex:0 0 52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--surface);z-index:20}.app-brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;min-width:0}.app-logo{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:var(--accent);color:#fff;font-size:22px}.app-brand strong{display:block;min-width:0;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;gap:7px}.pro-button{height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--accent);font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:0 10px}
.app-main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.assistant-search{flex:0 0 auto;padding:7px 8px;background:var(--surface);border-bottom:1px solid var(--line)}
.assistant-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) repeat(4,40px);grid-template-areas:"question location-toggle time-toggle radius-toggle search";grid-template-rows:42px;gap:4px;max-width:1180px;margin:0 auto}.question-field{grid-area:question}.location-toggle{grid-area:location-toggle}.time-toggle{grid-area:time-toggle}.radius-toggle{grid-area:radius-toggle}.location-field{grid-area:location}.time-field{grid-area:time}.radius-field{grid-area:radius}.search-button{grid-area:search;justify-self:end;width:40px}
.field-shell,.select-field,.search-button,.filter-icon-button{border:1px solid #b6cbc4;background:#fbfdfc;outline:0;border-radius:13px}.field-shell,.select-field{display:flex;align-items:center;min-width:0;overflow:hidden}.field-shell:focus-within,.select-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-prefix{flex:0 0 auto;padding-left:10px;color:var(--accent-dark);font-size:.69rem;font-weight:900;white-space:nowrap}.question-field .field-prefix{display:none}.field-shell input{min-width:0;width:100%;height:100%;border:0;background:transparent;outline:0;padding:0 9px;font-size:.84rem;color:var(--text)}.field-shell input::placeholder{color:#72817c;transition:color .18s ease}.question-field.prompt-fade input::placeholder{color:transparent}.select-field select{min-width:0;flex:1;width:100%;height:100%;border:0;background:transparent;outline:0;padding:0 30px 0 8px;color:var(--accent-dark);font-size:.82rem;font-weight:850}.gps-button{flex:0 0 40px;width:40px;height:100%;border:0;border-left:1px solid var(--line);background:var(--surface-soft);color:var(--accent);font-size:1.2rem;font-weight:900;cursor:pointer}.search-button{background:var(--accent);color:#fff;font-size:1.25rem;font-weight:900;cursor:pointer}.filter-icon-button{display:grid;place-items:center;width:40px;height:42px;padding:0;color:var(--accent-dark);font-size:1.05rem;cursor:pointer}.filter-icon-button.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px rgba(17,104,90,.12)}.filter-popover{position:absolute;top:47px;left:0;right:0;z-index:60;height:44px;display:none;background:var(--surface);box-shadow:0 8px 24px rgba(13,62,53,.18)}.filter-popover.open{display:flex}.gps-button.busy,.search-button:disabled{opacity:.55}
.quick-actions{display:grid;gap:8px;max-width:1180px;margin:8px auto 0;overflow:visible}.quick-action-group{min-width:0}.quick-action-heading{margin:0 0 5px 2px;color:var(--accent-dark);font-size:.72rem;line-height:1.2;font-weight:900;letter-spacing:.015em}.quick-action-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(148px,46vw);gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:1px 1px 4px}.quick-action{scroll-snap-align:start;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px;width:auto;max-width:none;min-width:0;min-height:62px;height:auto;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);color:var(--text);text-align:left;cursor:pointer}.quick-action:hover{border-color:#a7c9c0;background:#e7f4f1}.quick-action:active,.quick-action:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:0;box-shadow:0 0 0 2px rgba(17,104,90,.12)}.quick-action-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--surface);font-size:1.15rem;line-height:1}.quick-action-copy{display:block;min-width:0}.quick-action-copy strong,.quick-action-copy small{display:block}.quick-action-copy strong{font-size:.72rem;line-height:1.15;color:var(--accent-dark)}.quick-action-copy small{margin-top:3px;color:var(--muted);font-size:.61rem;line-height:1.18;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.suggestion-bar{flex:0 0 52px;height:52px;display:flex;align-items:center;gap:9px;padding:6px 10px;background:var(--accent-soft);border-bottom:1px solid #c8e5dd;overflow:hidden}.suggestion-bar[hidden]{display:none}.answer-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:var(--accent);color:#fff}.suggestion-viewport{height:40px;min-width:0;flex:1;overflow:hidden}.suggestion-track{height:100%;transition:transform .42s ease}.suggestion-slide{height:40px;width:100%;display:flex;align-items:center;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:var(--text)}.suggestion-copy{min-width:0;display:grid;gap:1px}.suggestion-copy strong,.suggestion-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-copy strong{font-size:.84rem}.suggestion-copy span{font-size:.72rem;color:var(--accent-dark)}.suggestion-slide.sponsored .suggestion-copy strong{color:#6d4a00}.suggestion-counter{flex:0 0 auto;font-size:.68rem;font-weight:850;color:var(--accent-dark)}
.view-toolbar{height:45px;flex:0 0 45px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 9px;border-bottom:1px solid var(--line);background:var(--surface)}.results-summary{min-width:0;display:flex;align-items:baseline;gap:6px}.results-summary strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-summary span{font-size:.69rem;color:var(--muted);white-space:nowrap}.view-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-soft);flex:0 0 auto}.view-switch button{border:0;background:transparent;color:var(--muted);padding:6px 10px;font-size:.75rem;font-weight:850;cursor:pointer}.view-switch button.active{background:var(--accent);color:#fff}
.workspace{position:relative;flex:1;min-height:0;background:#dce7e4}.view-panel{position:absolute;inset:0;display:none;min-height:0}.view-panel.active{display:block}#map{width:100%;height:100%}.map-message{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:5;max-width:calc(100% - 24px);padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.95);box-shadow:0 3px 12px rgba(0,0,0,.08);font-size:.76rem;text-align:center}.map-message[hidden]{display:none}.loading{position:absolute;inset:0;z-index:10;background:rgba(244,247,246,.78);display:grid;place-content:center;justify-items:center;gap:10px}.loading[hidden]{display:none}.loading span{width:32px;height:32px;border:4px solid #c7ddd7;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loading strong{font-size:.85rem}@keyframes spin{to{transform:rotate(360deg)}}
#listView{background:var(--bg)}.results-list{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:8px 8px calc(10px + var(--safe-bottom));display:grid;align-content:start;gap:7px}.result-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface);cursor:pointer}.result-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.result-card.sponsored{background:var(--sponsor-bg);border-color:#eadb99}.result-rank{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent);color:#fff;font-size:.82rem;font-weight:900}.result-card.sponsored .result-rank{background:var(--sponsor)}.result-content{min-width:0}.result-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.result-heading h3{margin:0;font-size:.91rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.result-distance{font-size:.7rem;color:var(--muted);white-space:nowrap}.result-primary{margin:4px 0 0;font-size:.84rem;font-weight:850;color:var(--accent)}.result-secondary{margin:3px 0 0;font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:#edf2f0;color:#47564f;font-size:.63rem;font-weight:850}.badge.open{background:#e2f6e9;color:#126c3c}.badge.closed{background:#fde8e8;color:var(--danger)}.badge.price{background:var(--accent);color:#fff}.badge.sponsor{background:#f0d67f;color:#654600}.badge.best{background:#e8e6ff;color:#40359a}.badge.event{background:#e7efff;color:#244f91}.card-action{align-self:center;border:0;border-radius:10px;background:var(--surface-soft);color:var(--accent);width:34px;height:34px;font-size:1.1rem;cursor:pointer}.empty-state{height:100%;min-height:220px;display:grid;place-content:center;text-align:center;gap:5px;padding:20px;color:var(--muted)}.empty-state strong{color:var(--text)}
.popup{min-width:215px;max-width:290px}.popup h3{margin:0 0 5px;font-size:1rem}.popup p{margin:5px 0;font-size:.8rem}.popup .offer-title{font-weight:850;color:var(--sponsor)}.popup-price{font-size:1.15rem!important;color:var(--accent)}.popup-schedule{font-size:.86rem!important;color:var(--accent-dark)}.popup-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:8px 0}.popup-prices span{padding:5px 6px;border-radius:7px;background:var(--surface-soft);font-size:.7rem}.popup details{margin:7px 0}.popup summary{font-size:.78rem;font-weight:800;cursor:pointer}.hours-list{display:grid;gap:2px;margin-top:4px;color:var(--muted);font-size:.7rem}.details-note{font-size:.72rem!important;color:var(--muted);font-style:italic}.popup-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.popup-actions a{display:inline-flex;align-items:center;text-decoration:none;padding:7px 9px;border-radius:8px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800}.popup-actions a.alt{background:var(--surface-soft);color:var(--accent)}.gm-style .gm-style-iw-c{border-radius:15px}.gm-style .gm-style-iw-d{overflow:auto!important}
.results-source{display:inline-flex;align-items:center;width:fit-content;margin-top:2px;padding:2px 7px;border-radius:999px;background:rgba(17,104,90,.10);color:#0d5b4f;font-size:10px;font-weight:750;line-height:1.35}.map-status-legend{position:absolute;right:10px;bottom:12px;z-index:5;display:flex;align-items:center;gap:9px;padding:6px 8px;border:1px solid rgba(217,229,225,.95);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(0,0,0,.08);font-size:.68rem;font-weight:800;color:var(--text);pointer-events:none}.map-status-legend span{display:inline-flex;align-items:center;gap:4px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.9)}.legend-dot.open{background:#15803d}.legend-dot.closed{background:#dc2626}.result-card.status-open .result-rank{background:#15803d}.result-card.status-closed .result-rank{background:#dc2626}.result-card.sponsored.status-open .result-rank,.result-card.sponsored.status-closed .result-rank{box-shadow:inset 0 0 0 3px #f4b400}.map-status-legend[hidden]{display:none}

@media(min-width:600px) and (max-width:899px){.assistant-grid{grid-template-columns:minmax(0,1fr) repeat(4,44px);grid-template-rows:44px;gap:6px}.filter-icon-button{width:44px;height:44px}.search-button{width:44px}.field-shell input{font-size:.9rem}.quick-action-row{grid-auto-columns:minmax(172px,30vw)}.quick-action{min-height:66px}.quick-action-copy strong{font-size:.76rem}.quick-action-copy small{font-size:.64rem}}
@media(min-width:900px){.mobile-app{max-width:1500px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}.app-header{height:58px;flex-basis:58px;padding:0 18px}.app-brand strong{font-size:1rem}.assistant-search{padding:9px 18px}.assistant-grid{grid-template-columns:minmax(280px,2fr) minmax(220px,1.35fr) 155px 112px 48px;grid-template-areas:"question location time radius search";grid-template-rows:46px;gap:7px}.question-field .field-prefix{display:block}.filter-icon-button{display:none}.filter-popover{position:static;display:flex;height:auto;box-shadow:none}.search-button{width:48px}.field-shell input{font-size:.92rem}.select-field select{font-size:.8rem}.quick-actions{margin-top:9px;gap:9px}.quick-action-row{grid-auto-flow:initial;grid-auto-columns:unset;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible;padding-bottom:0}.quick-action{min-height:68px;padding:8px}.quick-action-icon{width:34px;height:34px;font-size:1.2rem}.quick-action-copy strong{font-size:.74rem}.quick-action-copy small{font-size:.62rem}.view-toolbar{height:50px;flex-basis:50px;padding:7px 18px}.results-summary strong{font-size:1rem}.results-list{padding:12px max(12px,calc((100% - 900px)/2));gap:9px}.result-card{padding:14px}.map-message{font-size:.82rem}.suggestion-bar{padding-left:max(18px,calc((100% - 900px)/2));padding-right:max(18px,calc((100% - 900px)/2))}}
@media(max-width:390px){.app-brand strong{max-width:150px;font-size:.82rem}.assistant-search{padding:6px}.assistant-grid{grid-template-columns:minmax(0,1fr) repeat(4,37px);grid-template-rows:40px;gap:3px}.filter-icon-button{width:37px;height:40px;font-size:.96rem}.search-button{width:37px;font-size:1.15rem}.field-shell input{font-size:.77rem;padding-left:7px;padding-right:7px}.filter-popover{top:44px;height:42px}.field-prefix{padding-left:8px;font-size:.64rem}.select-field select{font-size:.75rem}.gps-button{flex-basis:36px;width:36px}.quick-actions{gap:7px;margin-top:7px}.quick-action-row{grid-auto-columns:minmax(140px,48vw);gap:5px}.quick-action{min-height:58px;padding:6px;grid-template-columns:29px minmax(0,1fr);gap:6px}.quick-action-icon{width:29px;height:29px;font-size:1.02rem}.quick-action-copy strong{font-size:.68rem}.quick-action-copy small{font-size:.57rem}.suggestion-bar{height:50px;flex-basis:50px;padding:5px 8px}.view-toolbar{height:42px;flex-basis:42px}.results-summary{gap:4px}.results-source{display:none}}
.badge.activity{background:#e9f7ef;color:#17613c}.result-card.event-result .result-rank{background:#2563eb}.result-card.event-result.sponsored .result-rank{box-shadow:inset 0 0 0 3px #f4b400}
.legend-dot.event{background:#2563eb}

/* v1.6.0 — intention contextuelle et filtres cohérents */
.assistant-grid{grid-template-columns:minmax(0,1fr) 48px!important}.filter-icon-button,.radius-field{display:none!important}.map-search-overlays{position:absolute;z-index:6;top:10px;left:50%;transform:translateX(-50%);display:flex;gap:8px;max-width:calc(100% - 24px);pointer-events:none}.map-overlay-field{pointer-events:auto;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.16);border-radius:14px;min-height:42px;display:flex;align-items:center;padding:4px 8px;gap:6px}.map-overlay-field input{width:min(48vw,280px);border:0;outline:0}.map-time-field select{border:0;background:transparent;min-width:118px}.result-filters{position:absolute;z-index:6;top:62px;left:50%;transform:translateX(-50%);display:flex;gap:6px;max-width:calc(100% - 20px);overflow-x:auto;padding:4px;background:rgba(255,255,255,.94);border-radius:14px;box-shadow:0 5px 18px rgba(0,0,0,.13)}.result-filters button{border:0;border-radius:10px;background:#eef3f2;padding:7px 10px;white-space:nowrap;font-weight:700}.result-filters button.active{background:#11685a;color:#fff}@media(max-width:600px){.map-search-overlays{top:8px;width:calc(100% - 16px)}.map-overlay-field{flex:1;min-width:0}.map-overlay-field input{width:100%;min-width:0}.map-time-field{flex:0 0 auto}.result-filters{top:58px}}

/* v1.6.1 — raccourcis de l’aide de proximité */
@media(max-height:680px) and (max-width:599px){.quick-action-heading{font-size:.68rem}.quick-action{min-height:54px}.quick-action-copy small{-webkit-line-clamp:1}.quick-actions{gap:5px}.quick-action-row{padding-bottom:2px}}


/* v1.6.2 — moteur superposé, icônes seules et recherche liée à la carte */
input[type="search"]::-webkit-search-cancel-button{display:none}
.map-top-stack{position:absolute;z-index:7;top:8px;left:50%;transform:translateX(-50%);width:min(780px,calc(100% - 16px));display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.map-top-stack>*{pointer-events:auto}
.map-assistant-search{width:100%;padding:0;border:0;background:transparent}
.map-assistant-search .assistant-grid{width:100%;max-width:none;margin:0;grid-template-columns:minmax(0,1fr) 46px!important;grid-template-rows:46px;gap:6px}
.map-assistant-search .question-field,.map-assistant-search .search-button{background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(0,0,0,.18);border-color:rgba(182,203,196,.92)}
.map-assistant-search .search-button{width:46px;background:var(--accent);border-color:var(--accent);color:#fff}
.map-assistant-search .question-field{position:relative}
.map-assistant-search .question-field input{padding-right:42px;font-size:.91rem}



.map-assistant-search .quick-actions{display:flex;align-items:center;justify-content:flex-start;width:max-content;max-width:100%;gap:6px;margin:0 auto;padding:1px 2px 3px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.map-assistant-search .quick-actions::-webkit-scrollbar{display:none}
.map-assistant-search .quick-action-group{display:flex;align-items:center;flex:0 0 auto}
.map-assistant-search .quick-action-group+ .quick-action-group{padding-left:6px;border-left:1px solid rgba(255,255,255,.75)}
.map-assistant-search .quick-action-row{display:flex;grid-auto-flow:unset;grid-template-columns:none;gap:5px;overflow:visible;padding:0}
.map-assistant-search .quick-action{display:grid;place-items:center;flex:0 0 38px;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border:1px solid rgba(217,229,225,.95);border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 5px 15px rgba(0,0,0,.14);text-align:center}
.map-assistant-search .quick-action:hover{background:#fff;border-color:#a7c9c0;transform:translateY(-1px)}
.map-assistant-search .quick-action-icon{width:auto;height:auto;border-radius:0;background:transparent;font-size:1.13rem}
.map-assistant-search .quick-action-copy{display:none!important}
.map-top-stack .map-search-overlays{position:static;z-index:auto;top:auto;left:auto;transform:none;display:flex;justify-content:center;gap:6px;width:auto;max-width:100%;margin:0;pointer-events:auto}
.map-top-stack .map-overlay-field{min-height:38px;padding:3px 7px;border-radius:12px;box-shadow:0 5px 16px rgba(0,0,0,.14)}
.map-top-stack .map-overlay-field input{height:32px;width:min(48vw,270px)}
.map-top-stack .gps-button{height:32px;flex-basis:36px;width:36px;border-radius:9px;border-left:0}
.map-top-stack .result-filters{position:static;z-index:auto;top:auto;left:auto;transform:none;max-width:100%;margin:0;padding:3px;box-shadow:0 5px 16px rgba(0,0,0,.14)}
.map-message{top:auto;bottom:14px}
@media(max-width:600px){
  .map-top-stack{top:6px;width:calc(100% - 12px);gap:5px}
  .map-assistant-search .assistant-grid{grid-template-rows:43px;grid-template-columns:minmax(0,1fr) 43px!important;gap:5px}
  .map-assistant-search .search-button{width:43px}
  .map-assistant-search .question-field input{font-size:.82rem;padding-left:8px;padding-right:39px}
  
  .map-assistant-search .quick-action{flex-basis:35px;width:35px;min-width:35px;height:35px;min-height:35px}
  .map-assistant-search .quick-action-icon{font-size:1.04rem}
  .map-top-stack .map-search-overlays{width:100%}
  .map-top-stack .map-overlay-field{flex:1;min-width:0}
  .map-top-stack .map-overlay-field input{width:100%;min-width:0}
  .map-top-stack .map-time-field{flex:0 0 auto}
  .map-message{bottom:10px;max-width:calc(100% - 18px)}
}
@media(max-width:390px){
  .map-assistant-search .quick-action{flex-basis:33px;width:33px;min-width:33px;height:33px;min-height:33px}
  .map-assistant-search .quick-action-icon{font-size:.98rem}
}

/* v3.4.5 final — les menus survolent toujours les blocs voisins. */
.primary-search{position:relative!important;z-index:1000!important;overflow:visible!important;isolation:isolate}
.primary-search .assistant-grid,.primary-search .time-menu-wrap{overflow:visible!important}
.primary-search .time-menu{z-index:5000!important}
.results-controls{position:relative!important;z-index:900!important;overflow:visible!important}
.results-overlay{position:relative!important;z-index:2!important;overflow:visible!important}
.category-menu-panel{z-index:4500!important;overflow:visible!important}
.category-menu-panel .category-menu-view{overflow-y:auto!important}
.result-filter-menu{z-index:4600!important}
.result-filter-menu .result-filters{z-index:4700!important}
.active-criteria-bar,.suggestion-bar{position:relative;z-index:1!important}
.workspace{z-index:1!important}
.map-assistant-search .question-field .field-prefix{display:none!important}

/* v1.6.3 — raccourcis dans l’en-tête et période intégrée au moteur */
.app-header{
  justify-content:flex-start;
  gap:6px;
  padding-left:8px;
  padding-right:8px;
  border-bottom:0;
  overflow:hidden;
}
.app-brand{flex:0 0 auto}
.header-quick-actions{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:4px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:2px 1px;
}
.header-quick-actions::-webkit-scrollbar{display:none}
.header-quick-actions .quick-action{
  scroll-snap-align:start;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  color:var(--text);
  cursor:pointer;
}
.header-quick-actions .quick-action:hover,
.header-quick-actions .quick-action:focus-visible{
  border:0;
  background:var(--accent-soft);
  box-shadow:none;
  outline:0;
  transform:none;
}
.header-quick-actions .quick-action-icon{
  display:block;
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  font-size:1.13rem;
  line-height:1;
}
.header-actions{flex:0 0 auto}
.suggestion-bar{border-top:0}

.map-assistant-search .assistant-grid{
  grid-template-columns:minmax(0,1fr) 46px minmax(118px,145px)!important;
  grid-template-areas:"question search time";
}
.search-time-field{
  grid-area:time;
  min-width:0;
  display:flex;
  align-items:center;
  gap:4px;
  height:46px;
  padding:0 7px;
  border:1px solid rgba(182,203,196,.92);
  border-radius:13px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  color:var(--accent-dark);
}
.search-time-field:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft),0 8px 24px rgba(0,0,0,.18);
}
.search-time-field>span{flex:0 0 auto;font-size:.82rem}
.search-time-field select{
  min-width:0;
  width:100%;
  height:100%;
  padding:0 20px 0 0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--accent-dark);
  font-size:.76rem;
  font-weight:850;
  cursor:pointer;
}
.location-controls-hidden{display:none!important}

@media(max-width:700px){
  .app-brand strong{display:none}
  .app-logo{width:34px;height:34px;flex-basis:34px}
  .pro-button{padding:0 8px}
  .map-assistant-search .assistant-grid{
    grid-template-columns:minmax(0,1fr) 43px 104px!important;
    grid-template-rows:43px;
    gap:5px;
  }
  .search-time-field{height:43px;padding:0 5px;gap:3px}
  .search-time-field>span{font-size:.74rem}
  .search-time-field select{font-size:.69rem;padding-right:14px}
}
@media(max-width:390px){
  .app-header{gap:4px;padding-left:6px;padding-right:6px}
  .header-quick-actions{gap:2px}
  .header-quick-actions .quick-action{flex-basis:31px;width:31px;min-width:31px;height:31px;min-height:31px}
  .header-quick-actions .quick-action-icon{font-size:1.02rem}
  .pro-button{height:32px;padding:0 7px;font-size:.74rem}
  .map-assistant-search .assistant-grid{grid-template-columns:minmax(0,1fr) 41px 94px!important;gap:4px}
  .map-assistant-search .search-button{width:41px}
  .search-time-field{padding:0 4px}
  .search-time-field select{font-size:.64rem}
}

/* v1.6.4 — carte fluide, menus compacts et suggestions géographiques */
.map-assistant-search .assistant-grid{
  grid-template-columns:minmax(0,1fr) 46px 46px!important;
  grid-template-areas:"question search time";
}
.time-menu-wrap{grid-area:time;position:relative;min-width:0}
.time-menu-button{
  width:46px;height:46px;padding:0;border:1px solid rgba(182,203,196,.92);border-radius:13px;
  background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(0,0,0,.18);
  color:var(--accent-dark);font-size:1rem;cursor:pointer
}
.time-menu-button:hover,.time-menu-button:focus-visible,.time-menu-button[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-soft);outline:0}
.time-menu{position:absolute;right:0;top:52px;z-index:30;display:grid;min-width:166px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.time-menu[hidden]{display:none}.time-menu button{border:0;border-radius:9px;background:transparent;color:var(--text);padding:9px 10px;text-align:left;font-size:.78rem;font-weight:750;cursor:pointer}.time-menu button:hover,.time-menu button.active{background:var(--accent-soft);color:var(--accent-dark)}
.map-locate-button{position:absolute;z-index:8;right:10px;bottom:66px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.97);box-shadow:0 5px 18px rgba(0,0,0,.2);color:var(--accent);font-size:1.35rem;font-weight:900;cursor:pointer}.map-locate-button:hover,.map-locate-button:focus-visible{background:var(--accent-soft);outline:0}.map-locate-button.busy .locate-symbol{display:none}.locate-spinner{display:none;width:20px;height:20px;border:3px solid #c7ddd7;border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}.map-locate-button.busy .locate-spinner{display:block}
.loading{inset:auto;left:50%;top:68px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;width:auto;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 5px 16px rgba(0,0,0,.13);pointer-events:none}.loading span{width:18px;height:18px;border-width:3px}.loading strong{font-size:.73rem}.loading.points-only{top:auto;bottom:92px}.loading[hidden]{display:none}
.map-message{left:50%;right:auto;top:auto;bottom:12px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);text-align:center}.map-status-legend{left:50%;right:auto;bottom:52px;transform:translateX(-50%);max-width:calc(100% - 24px)}
.suggestion-bar{height:66px;flex-basis:66px;gap:5px;padding:6px 8px}.answer-icon{flex-basis:28px;width:28px;height:28px}.suggestion-nav{flex:0 0 28px;width:28px;height:36px;border:0;border-radius:9px;background:rgba(255,255,255,.65);color:var(--accent);font-size:1.3rem;font-weight:900;cursor:pointer}.suggestion-viewport{height:52px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.suggestion-viewport::-webkit-scrollbar{display:none}.suggestion-track{height:52px;display:flex;align-items:stretch;gap:7px;width:max-content;transform:none!important;transition:none}.suggestion-slide{scroll-snap-align:start;flex:0 0 min(250px,70vw);width:min(250px,70vw);height:52px;padding:5px 9px;border:1px solid rgba(17,104,90,.13);border-radius:12px;background:rgba(255,255,255,.72)}.suggestion-copy strong,.suggestion-copy span{max-width:100%}.suggestion-counter{display:none!important}
.toolbar-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.result-filter-menu{position:relative}.compact-filter-button{height:32px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--accent-dark);font-size:.69rem;font-weight:850;cursor:pointer}.result-filter-menu .result-filters{position:absolute;z-index:50;top:37px;right:0;left:auto;transform:none;display:grid;gap:3px;min-width:160px;max-width:240px;overflow:visible;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.16)}.result-filter-menu .result-filters[hidden]{display:none}.result-filter-menu .result-filters button{text-align:left;padding:8px 9px;font-size:.72rem}.results-source:empty{display:none!important}
@media(max-width:700px){
  .map-assistant-search .assistant-grid{grid-template-columns:minmax(0,1fr) 43px 43px!important;grid-template-rows:43px}.time-menu-button{width:43px;height:43px}.time-menu{top:48px}.map-locate-button{right:8px;bottom:64px;width:42px;height:42px}.suggestion-nav{display:none}.suggestion-bar{padding-left:7px;padding-right:7px}.suggestion-slide{flex-basis:min(230px,78vw);width:min(230px,78vw)}.compact-filter-button span{display:none}.compact-filter-button{width:32px;justify-content:center;padding:0}.results-summary{gap:4px}.results-source{display:none!important}.map-status-legend{bottom:50px}.loading.points-only{bottom:88px}
}


/* v1.6.5 — moteur hors carte, commandes compactes et repères par catégorie */
.publish-button{width:36px;padding:0;background:var(--accent);border-color:var(--accent);color:#fff}
.publish-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.publish-button:hover,.publish-button:focus-visible{background:var(--accent-dark);border-color:var(--accent-dark);outline:0}
.primary-search{position:relative;z-index:12;padding:6px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 42px 42px 78px!important;grid-template-areas:"question search time views";grid-template-rows:42px;gap:5px;max-width:1180px}
.primary-search .question-field,.primary-search .search-button,.primary-search .time-menu-button{height:42px;box-shadow:none;background:#fbfdfc;border-color:#b6cbc4}
.primary-search .search-button{width:42px;background:var(--accent);border-color:var(--accent);color:#fff}
.primary-search .time-menu-button{width:42px}
.primary-search .time-menu{top:47px;z-index:80}
.compact-view-switch{grid-area:views;height:42px;grid-template-columns:1fr 1fr;border-radius:13px;background:#fbfdfc;border-color:#b6cbc4}
.compact-view-switch button{display:grid;place-items:center;min-width:0;padding:0;font-size:1.08rem}
.compact-view-switch button.active{background:var(--accent);color:#fff}
.view-toolbar{height:40px;flex-basis:40px;padding:4px 9px}
.suggestion-bar{display:flex!important;visibility:visible;min-height:66px}
.suggestion-placeholder{height:52px;display:flex;align-items:center;color:var(--accent-dark);font-size:.76rem;font-weight:700;white-space:nowrap}
.map-locate-button,.map-locate-button:hover,.map-locate-button:focus-visible{left:12px;right:auto;bottom:18px;background:#f28d00;border-color:#d87800;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.28)}
.map-locate-button:hover,.map-locate-button:focus-visible{background:#d87800}
.map-locate-button .locate-spinner{border-color:rgba(255,255,255,.45);border-top-color:#fff}
.loading{top:10px}
.loading.points-only{top:auto;bottom:76px}
.result-rank{font-size:1.05rem;line-height:1}
.transport-departures{display:grid;gap:5px;margin:8px 0;padding:8px;border-radius:10px;background:#eef6f4}
.transport-departures>strong{font-size:.76rem;color:var(--accent-dark)}
.transport-departures>div{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:6px;font-size:.72rem}
.transport-departures>div>span:nth-of-type(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.transport-departures i{font-size:.61rem;color:var(--accent);font-style:normal;font-weight:800}
.line-badge{display:inline-grid;place-items:center;min-width:25px;height:22px;padding:0 6px;border-radius:7px;background:#2563eb;color:#fff;font-weight:900}
@media(max-width:700px){
  .primary-search{padding:5px 6px}
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 40px 72px!important;grid-template-rows:40px;gap:4px}
  .primary-search .question-field,.primary-search .search-button,.primary-search .time-menu-button,.compact-view-switch{height:40px}
  .primary-search .search-button,.primary-search .time-menu-button{width:40px}
  .primary-search .question-field input{font-size:.78rem;padding-left:8px;padding-right:36px}
  .primary-search .time-menu{top:45px;right:-76px}
  .compact-view-switch button{font-size:1rem}
  .map-locate-button,.map-locate-button:hover,.map-locate-button:focus-visible{left:9px;right:auto;bottom:17px;width:43px;height:43px}
  .suggestion-bar{min-height:62px;height:62px;flex-basis:62px}
  .suggestion-viewport,.suggestion-track,.suggestion-placeholder{height:48px}
  .suggestion-slide{height:48px}
}
@media(max-width:380px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 38px 38px 68px!important}
  .primary-search .question-field,.primary-search .search-button,.primary-search .time-menu-button,.compact-view-switch{height:38px}
  .primary-search .search-button,.primary-search .time-menu-button{width:38px}
}

/* v1.6.5 final — moteur hors carte, résumé superposé, header complet */
.app-header{overflow:hidden}
.app-brand{flex:0 0 auto;max-width:190px}
.app-brand .app-logo{overflow:hidden;padding:0;background:var(--accent)}
.app-brand .app-logo img{display:block;width:100%;height:100%;object-fit:cover}
.app-brand strong{display:block!important;max-width:150px;font-size:.86rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-quick-actions{min-width:0;flex:1 1 auto}
.publish-button{flex:0 0 36px}

.primary-search{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;pointer-events:auto!important}
.primary-search .assistant-grid{display:grid!important;margin:0 auto}
.compact-view-switch button svg,.compact-filter-button svg,.publish-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.compact-view-switch button{font-size:0!important}

.workspace{position:relative}
.view-toolbar.results-overlay{
  position:absolute;z-index:9;top:8px;left:50%;transform:translateX(-50%);
  width:auto;max-width:calc(100% - 20px);height:auto;min-height:36px;flex-basis:auto;
  padding:0;border:0;background:transparent;pointer-events:none;
}
.results-overlay .results-summary{
  min-width:0;max-width:min(680px,calc(100vw - 78px));height:36px;
  display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid rgba(182,203,196,.94);
  border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 6px 18px rgba(0,0,0,.16);
  overflow:hidden;pointer-events:auto;
}
.results-overlay .results-summary strong{min-width:0;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}
.results-overlay .results-summary span{flex:0 0 auto;font-size:.67rem;white-space:nowrap}
.results-overlay .toolbar-actions{pointer-events:auto}
.results-overlay .compact-filter-button{
  width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid rgba(182,203,196,.94);
  border-radius:50%;background:rgba(255,255,255,.97);box-shadow:0 6px 18px rgba(0,0,0,.16);color:var(--accent-dark)
}
.results-overlay .result-filter-menu .result-filters{top:42px;right:0}
#listView .results-list{padding-top:54px}
.loading:not(.points-only){top:54px}

.suggestion-bar,.suggestion-bar[hidden]{display:flex!important;visibility:visible!important;flex-shrink:0}
.suggestion-track{min-width:100%}
.suggestion-placeholder{min-width:min(620px,calc(100vw - 96px));overflow:hidden;text-overflow:ellipsis}

.map-locate-button,.map-locate-button:hover,.map-locate-button:focus-visible{
  left:12px!important;right:auto!important;bottom:18px!important;background:#f28d00!important;border-color:#d87800!important;color:#fff!important;
  box-shadow:0 7px 22px rgba(164,87,0,.38)!important
}
.map-locate-button:hover,.map-locate-button:focus-visible{background:#d87800!important}

@media(max-width:700px){
  .app-header{gap:5px;padding-left:6px;padding-right:6px}
  .app-brand{max-width:142px;gap:5px}
  .app-brand .app-logo{width:31px;height:31px;flex-basis:31px;border-radius:9px}
  .app-brand strong{display:block!important;max-width:105px;font-size:.72rem}
  .header-quick-actions{gap:2px}
  .publish-button{width:34px;min-width:34px;flex-basis:34px;height:34px}
  .results-overlay{top:7px;max-width:calc(100% - 12px)}
  .results-overlay .results-summary{height:34px;max-width:calc(100vw - 62px);padding:0 9px}
  .results-overlay .results-summary strong{max-width:42vw;font-size:.73rem}
  .results-overlay .results-summary span{font-size:.62rem}
  .results-overlay .compact-filter-button{width:34px;height:34px}
  .results-overlay .result-filter-menu .result-filters{top:40px}
  #listView .results-list{padding-top:50px}
  .loading:not(.points-only){top:49px}
  .map-locate-button,.map-locate-button:hover,.map-locate-button:focus-visible{left:9px!important;bottom:17px!important}
}
@media(max-width:420px){
  .app-brand{max-width:128px}
  .app-brand strong{max-width:92px;font-size:.68rem}
  .header-quick-actions .quick-action{flex-basis:30px;width:30px;min-width:30px;height:30px;min-height:30px}
  .header-quick-actions .quick-action-icon{font-size:.98rem}
}
@media(max-width:360px){
  .app-brand{max-width:113px}
  .app-brand strong{max-width:78px;font-size:.64rem}
  .publish-button{width:32px;min-width:32px;flex-basis:32px}
}


/* v1.6.6 — moteur mis en avant, bandeau carte pleine largeur et commandes compactes */
.primary-search{
  position:relative!important;
  z-index:12;
  padding:9px 10px 10px;
  border-top:0;
  border-bottom:1px solid #bfd7d0;
  background:linear-gradient(180deg,#ffffff 0%,#f1f8f6 100%);
}
.primary-search .assistant-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 50px 46px!important;
  grid-template-areas:"question search time"!important;
  grid-template-rows:50px!important;
  gap:7px!important;
  width:100%;
  max-width:1180px;
  margin:0 auto;
}
.primary-search .question-field{
  position:relative;
  height:50px!important;
  border:2px solid var(--accent)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(17,104,90,.16)!important;
}
.primary-search .question-field:focus-within{
  border-color:var(--accent-dark)!important;
  box-shadow:0 0 0 4px var(--accent-soft),0 8px 24px rgba(17,104,90,.18)!important;
}
.primary-search .question-field input{
  height:100%;
  padding:0 46px 0 15px!important;
  font-size:1rem!important;
  font-weight:700;
}
.primary-search .question-field input::placeholder{font-weight:600;color:#667a74}
.primary-search 
.primary-search .search-button,
.primary-search .time-menu-button{
  height:46px!important;
  align-self:center;
  border-radius:15px!important;
  box-shadow:0 6px 18px rgba(17,104,90,.17)!important;
}
.primary-search .search-button{
  width:50px!important;
  height:50px!important;
  font-size:1.42rem;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
}
.primary-search .time-menu-wrap{
  grid-area:time;
  width:46px;
  align-self:center;
}
.primary-search .time-menu-button{width:46px!important;background:#fff!important;border:1px solid #aac7bf!important;font-size:1.12rem}
.primary-search .time-menu{top:52px;right:0;z-index:90}

/* Le bandeau d'information recouvre la carte, sur toute sa largeur. */
.view-toolbar.results-overlay{
  position:absolute;
  z-index:9;
  top:8px;
  left:8px;
  right:8px;
  transform:none;
  width:auto;
  max-width:none;
  min-height:44px;
  height:44px;
  padding:4px 5px 4px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  border:1px solid rgba(174,201,193,.96);
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 7px 22px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  pointer-events:auto;
}
.results-overlay .results-summary{
  min-width:0;
  max-width:none;
  height:auto;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}
.results-overlay .results-summary .results-type-icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--accent-soft);
  font-size:1.08rem;
}
.results-overlay .results-summary strong{
  min-width:0;
  max-width:none;
  font-size:.82rem;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.results-overlay .toolbar-actions{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}
.results-overlay .compact-filter-button{
  width:35px!important;
  height:35px!important;
  border-radius:11px!important;
  box-shadow:none!important;
  background:#f3f8f6!important;
}
.overlay-view-switch{
  grid-area:auto!important;
  width:72px;
  height:35px!important;
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #bad0ca;
  border-radius:11px!important;
  overflow:hidden;
  background:#f3f8f6!important;
}
.overlay-view-switch button{
  width:35px;
  height:33px;
  min-width:0;
  padding:0!important;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--accent-dark);
  box-shadow:none!important;
}
.overlay-view-switch button.active{background:var(--accent)!important;color:#fff!important}
.overlay-view-switch button svg,.compact-filter-button svg{width:18px!important;height:18px!important}
.results-overlay .result-filter-menu .result-filters{top:41px;right:0}
#listView .results-list{padding-top:61px}
.loading:not(.points-only){top:59px}

/* Les suggestions gardent une hauteur constante, y compris pendant une recherche. */
.suggestion-bar,.suggestion-bar[hidden]{
  display:flex!important;
  visibility:visible!important;
  min-height:64px;
  height:64px;
  flex-basis:64px;
}
.suggestion-viewport,.suggestion-track,.suggestion-placeholder{height:50px}
.suggestion-slide{height:50px}

/* Le nom officiel reste lisible dans le header. */
.app-brand{max-width:176px}
.app-brand strong{max-width:132px;font-size:.84rem}

/* Le champ principal ne possède aucune croix : les critères se retirent uniquement via les pastilles. */
@media(max-width:700px){
  .primary-search{padding:7px 6px 8px}
  .primary-search .assistant-grid{
    grid-template-columns:minmax(0,1fr) 46px 42px!important;
    grid-template-rows:46px!important;
    gap:5px!important;
  }
  .primary-search .question-field{height:46px!important;border-radius:16px!important}
  .primary-search .question-field input{font-size:.88rem!important;padding-left:12px!important;padding-right:12px!important}
  .primary-search .search-button{width:46px!important;height:46px!important;border-radius:14px!important}
  .primary-search .time-menu-wrap{width:42px}
  .primary-search .time-menu-button{width:42px!important;height:42px!important;border-radius:13px!important}
  .primary-search .time-menu{top:48px;right:0}
  .view-toolbar.results-overlay{top:6px;left:6px;right:6px;height:42px;min-height:42px;padding-left:8px;padding-right:4px;border-radius:13px}
  .results-overlay .results-summary .results-type-icon{width:28px;height:28px;flex-basis:28px;border-radius:9px;font-size:1rem}
  .results-overlay .results-summary{gap:6px}
  .results-overlay .results-summary strong{font-size:.73rem}
  .results-overlay .compact-filter-button{width:33px!important;height:33px!important}
  .overlay-view-switch{width:68px;height:33px!important}
  .overlay-view-switch button{width:33px;height:31px}
  #listView .results-list{padding-top:57px}
  .loading:not(.points-only){top:55px}
  .suggestion-bar{min-height:60px;height:60px;flex-basis:60px}
  .suggestion-viewport,.suggestion-track,.suggestion-placeholder,.suggestion-slide{height:46px}
  .app-brand{max-width:145px}
  .app-brand strong{max-width:104px;font-size:.72rem}
}
@media(max-width:390px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 44px 40px!important}
  .primary-search .question-field input{font-size:.82rem!important}
  .primary-search .search-button{width:44px!important}
  .primary-search .time-menu-wrap,.primary-search .time-menu-button{width:40px!important}
  .results-overlay .results-summary strong{font-size:.69rem}
  .app-brand{max-width:132px}
  .app-brand strong{max-width:92px;font-size:.68rem}
}

/* v1.6.7 — clusters chiffrés, photos, partage et clients WebCod */
.popup{min-width:235px;max-width:320px}
.popup-heading{display:flex;align-items:flex-start;gap:10px;margin:0 0 7px}
.popup-heading>div:last-child{min-width:0;flex:1}
.popup-heading h3{margin:1px 0 5px;line-height:1.18}
.popup-image-wrap{position:relative;flex:0 0 72px;width:72px}
.popup-image{display:block;width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft)}
.image-attribution{display:block;margin-top:2px;font-size:.52rem;line-height:1.1;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.image-attribution a{color:inherit}
.popup-actions a,.popup-actions button{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;padding:7px 9px;border-radius:8px;background:var(--accent);color:#fff;font-family:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.popup-actions a.alt,.popup-actions button.alt{background:var(--surface-soft);color:var(--accent)}
.popup-actions .webcod-link{background:#fff7df;color:#805500;border:1px solid #f0cf68}
.webcod-qr-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.badge.webcod{background:#fff1b8;color:#6c4a00;border:1px solid #edc84a}
.result-card.webcod-result{border-color:#e3bf3f;background:linear-gradient(90deg,#fffaf0 0%,#fff 48%)}
.result-card.webcod-result .result-rank{background:#f4a000;color:#fff;box-shadow:0 0 0 3px #fff1b8}
.result-card{grid-template-columns:38px minmax(0,1fr) 72px}
.result-side{width:72px;display:grid;grid-template-columns:1fr 28px;grid-template-rows:auto 28px;gap:5px;align-items:center;justify-items:end}
.result-image{grid-column:1/-1;display:block;width:72px;height:58px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--surface-soft)}
.result-share{grid-column:1;width:32px;height:28px;padding:0;border:0;border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);font-size:1rem;font-weight:900;cursor:pointer}
.result-share:hover,.result-share:focus-visible{background:var(--accent);color:#fff;outline:0}
.result-side .card-action{grid-column:2;width:28px;height:28px;display:grid;place-items:center}
@media(max-width:560px){
  .result-card{grid-template-columns:34px minmax(0,1fr) 62px;gap:7px;padding:8px}
  .result-rank{width:34px;height:34px}
  .result-side{width:62px;grid-template-columns:1fr 26px;grid-template-rows:auto 26px;gap:4px}
  .result-image{width:62px;height:50px;border-radius:9px}
  .result-share{width:29px;height:26px}
  .result-side .card-action{width:26px;height:26px}
  .popup{min-width:220px;max-width:280px}
  .popup-image-wrap,.popup-image{width:64px;height:64px;flex-basis:64px}
}
.result-image-wrap{grid-column:1/-1;position:relative;width:72px;height:58px;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:var(--surface-soft)}
.result-image-wrap .result-image{width:100%;height:100%;border:0;border-radius:0}
.result-image-attribution{position:absolute;left:2px;right:2px;bottom:2px;padding:1px 3px;border-radius:4px;background:rgba(0,0,0,.58);color:#fff;font-size:.45rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){.result-image-wrap{width:62px;height:50px;border-radius:9px}}

/* v1.6.9 — raccourcis précis et fiche WebCod fusionnée avec Google */
.popup-heading{display:block;margin:10px 0 7px}
.popup-heading>div:last-child{width:100%}
.popup-heading h3{margin:0 0 6px;font-size:1.08rem;line-height:1.2}
.popup-image-wrap{position:relative;width:100%;height:auto;margin:0 0 9px;overflow:hidden;border-radius:14px;background:var(--surface-soft)}
.popup-image{display:block;width:100%;height:150px;object-fit:cover;border:0;border-radius:14px;background:var(--surface-soft)}
.popup-image-wrap .image-attribution{position:absolute;left:5px;right:5px;bottom:5px;width:max-content;max-width:calc(100% - 10px);padding:2px 5px;border-radius:5px;background:rgba(0,0,0,.62);color:#fff}
@media(max-width:560px){
  .popup-image-wrap{width:100%;height:auto;flex-basis:auto}
  .popup-image{width:100%;height:132px}
}


/* v1.6.11 — barre d’icônes glissable sur ordinateur et prix carburants lisibles */
.header-quick-actions{cursor:grab;user-select:none;touch-action:auto}
.header-quick-actions.is-dragging{cursor:grabbing;scroll-snap-type:none}
.header-quick-actions.is-dragging .quick-action{pointer-events:none}
.popup-prices{grid-template-columns:repeat(2,minmax(100px,1fr));gap:6px}
.popup-prices span{display:grid;gap:2px;padding:8px;background:#eef7f4;border:1px solid #d5e8e2}
.popup-prices span strong{font-size:.72rem;color:var(--accent-dark)}
.popup-prices span b{font-size:.86rem;color:var(--accent)}
.popup-prices span small{font-size:.58rem;color:var(--muted);line-height:1.15}


/* v1.6.13 — destination sans accent, recherche unifiée et géolocalisation dans le bandeau */
.app-brand{
  flex:0 0 36px!important;
  width:36px!important;
  max-width:36px!important;
  min-width:36px!important;
  gap:0!important;
}
.app-brand .app-logo{
  width:34px!important;
  height:34px!important;
  flex-basis:34px!important;
  border-radius:10px!important;
}
.app-brand strong{display:none!important}

/* Plus d’icône décorative avant les suggestions. */
.suggestion-bar{padding-left:8px!important}
.answer-icon{display:none!important}

/* Le champ, la validation et la période forment un seul composant. */
.primary-search{
  padding:8px 10px!important;
  background:var(--surface)!important;
}
.primary-search .assistant-grid{
  grid-template-columns:minmax(0,1fr) 50px 50px!important;
  grid-template-areas:"question search time"!important;
  grid-template-rows:50px!important;
  gap:0!important;
  max-width:1120px!important;
  margin:0 auto!important;
  border:2px solid var(--accent)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(17,104,90,.16)!important;
  align-items:center!important;
}
.primary-search .question-field{
  height:46px!important;
  min-width:0!important;
  border:0!important;
  border-radius:16px 0 0 16px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.primary-search .question-field:focus-within{
  border:0!important;
  box-shadow:inset 0 0 0 2px rgba(17,104,90,.13)!important;
}
.primary-search .question-field input{
  height:46px!important;
  font-size:1rem!important;
  font-weight:700!important;
  padding-left:14px!important;
  padding-right:44px!important;
}
.primary-search .search-button,
.primary-search .time-menu-button{
  width:50px!important;
  height:46px!important;
  margin:0!important;
  border:0!important;
  border-left:1px solid #c5d9d3!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.primary-search .search-button{
  background:var(--accent)!important;
  color:#fff!important;
  font-size:1.25rem!important;
}
.primary-search .time-menu-wrap{
  width:50px!important;
  height:46px!important;
  align-self:center!important;
}
.primary-search .time-menu-button{
  background:#fff!important;
  color:var(--accent-dark)!important;
  border-radius:0 16px 16px 0!important;
  font-size:1.15rem!important;
}
.primary-search .time-menu{top:52px!important;right:0!important}

/* Le bouton de position appartient maintenant au bandeau de résultats. */
.results-overlay .map-locate-button,
.results-overlay .map-locate-button:hover,
.results-overlay .map-locate-button:focus-visible{
  position:static!important;
  inset:auto!important;
  flex:0 0 35px!important;
  width:35px!important;
  height:35px!important;
  margin:0!important;
  border-radius:11px!important;
  background:#f28d00!important;
  border:1px solid #d87800!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:1.15rem!important;
}
.results-overlay .map-locate-button:hover,
.results-overlay .map-locate-button:focus-visible{background:#d87800!important}
.results-overlay .map-locate-button .locate-spinner{
  width:17px!important;
  height:17px!important;
  border-color:rgba(255,255,255,.45)!important;
  border-top-color:#fff!important;
}

@media(max-width:700px){
  .app-brand{flex-basis:33px!important;width:33px!important;max-width:33px!important;min-width:33px!important}
  .app-brand .app-logo{width:31px!important;height:31px!important;flex-basis:31px!important}
  .primary-search{padding:7px 6px!important}
  .primary-search .assistant-grid{
    grid-template-columns:minmax(0,1fr) 46px 44px!important;
    grid-template-rows:46px!important;
    border-radius:16px!important;
  }
  .primary-search .question-field,
  .primary-search .question-field input{height:42px!important}
  .primary-search .question-field input{font-size:.88rem!important;padding-left:12px!important;padding-right:40px!important}
  .primary-search .search-button,
  .primary-search .time-menu-button{height:42px!important}
  .primary-search .search-button{width:46px!important}
  .primary-search .time-menu-wrap,
  .primary-search .time-menu-button{width:44px!important}
  .primary-search .time-menu{top:48px!important}
  .results-overlay .map-locate-button,
  .results-overlay .map-locate-button:hover,
  .results-overlay .map-locate-button:focus-visible{
    flex-basis:33px!important;width:33px!important;height:33px!important;border-radius:10px!important;
  }
}
@media(max-width:390px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 43px 41px!important}
  .primary-search .search-button{width:43px!important}
  .primary-search .time-menu-wrap,.primary-search .time-menu-button{width:41px!important}
}


/* v1.6.14 — géolocalisation désactivable et destination prioritaire */
.results-overlay .map-locate-button,
.results-overlay .map-locate-button:hover,
.results-overlay .map-locate-button:focus-visible{
  box-sizing:border-box!important;
  flex:0 0 35px!important;
  width:35px!important;
  min-width:35px!important;
  height:35px!important;
  padding:0!important;
  border-radius:11px!important;
  background:#f3f8f6!important;
  border:1px solid #d87800!important;
  color:#b85d00!important;
}
.results-overlay .map-locate-button.active,
.results-overlay .map-locate-button.active:hover,
.results-overlay .map-locate-button.active:focus-visible,
.results-overlay .map-locate-button.busy{
  background:#f28d00!important;
  border-color:#d87800!important;
  color:#fff!important;
}
.results-overlay .map-locate-button .locate-symbol{line-height:1}
@media(max-width:700px){
  .results-overlay .map-locate-button,
  .results-overlay .map-locate-button:hover,
  .results-overlay .map-locate-button:focus-visible{
    flex-basis:33px!important;
    width:33px!important;
    min-width:33px!important;
    height:33px!important;
  }
}


/* v1.6.15 — état GPS explicite et visible */
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"],
.results-overlay .map-locate-button.inactive:hover,
.results-overlay .map-locate-button[aria-pressed="false"]:hover,
.results-overlay .map-locate-button.inactive:focus-visible,
.results-overlay .map-locate-button[aria-pressed="false"]:focus-visible{
  background:#ffffff!important;
  border-color:#8da39d!important;
  color:#526963!important;
  box-shadow:none!important;
}
.results-overlay .map-locate-button.active,
.results-overlay .map-locate-button[aria-pressed="true"],
.results-overlay .map-locate-button.active:hover,
.results-overlay .map-locate-button[aria-pressed="true"]:hover,
.results-overlay .map-locate-button.active:focus-visible,
.results-overlay .map-locate-button[aria-pressed="true"]:focus-visible{
  background:#f28d00!important;
  border-color:#d87800!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(242,141,0,.18)!important;
}


/* v1.6.16 — localisation relative, légende complète et chargement centré */
.loading,
.loading:not(.points-only){
  position:absolute!important;
  inset:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
}
.loading[hidden],.loading.points-only{display:none!important}
.loading-pill{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.97);
  box-shadow:0 7px 22px rgba(0,0,0,.17);
}
.loading-pill>span{width:20px!important;height:20px!important;border-width:3px!important}
.loading-pill>strong{font-size:.76rem!important}
.map-status-legend{
  left:50%!important;
  right:auto!important;
  bottom:10px!important;
  transform:translateX(-50%)!important;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px 10px;
  width:max-content;
  max-width:calc(100% - 20px)!important;
  padding:7px 10px!important;
  border-radius:14px!important;
  line-height:1.15;
}
.map-status-legend[hidden]{display:none!important}
.map-message{bottom:72px!important}
.legend-dot.event{background:#7c3aed}
.legend-dot.activity{background:#2563eb}
.legend-dot.bus{background:#1d4ed8}
.legend-dot.bike{background:#07859a}
.legend-dot.scooter{background:#6d28d9}
.legend-dot.parking{background:#334155}
.legend-dot.charging{background:#c25b00}
.legend-dot.fuel{background:#0f766e}
.legend-dot.food{background:#b45309}
.legend-dot.health{background:#b91c1c}
.legend-dot.featured{background:#f4a000}
.legend-dot.other{background:#64748b}
@media(max-width:700px){
  .map-status-legend{bottom:8px!important;gap:5px 8px;padding:6px 8px!important;font-size:.62rem!important}
  .map-message{bottom:90px!important}
}

.legend-dot.train{background:#475569}.legend-dot.taxi{background:#a16207}.legend-dot.atm{background:#0f766e}.result-calendar{border:0;background:#eef7f4;color:#11685a;border-radius:999px;width:34px;height:34px;font-weight:900;cursor:pointer}.result-side{gap:6px}.popup-actions .popup-calendar{white-space:nowrap}

/* v1.6.18 — bandeau hors carte, suggestions sous les commandes et contrôles alignés */
.primary-search{
  padding:8px 10px 7px!important;
  border-bottom:0!important;
  background:linear-gradient(180deg,#fff 0%,#f4f9f7 100%)!important;
}
.primary-search .assistant-grid{
  --search-control-size:42px;
  grid-template-columns:minmax(0,1fr) var(--search-control-size) var(--search-control-size)!important;
  grid-template-areas:"question search time"!important;
  grid-template-rows:48px!important;
  gap:4px!important;
  align-items:center!important;
  max-width:1120px!important;
  padding:2px!important;
  border:2px solid var(--accent)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(17,104,90,.16)!important;
}
.primary-search .question-field{
  height:44px!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.primary-search .question-field:focus-within{
  border:0!important;
  box-shadow:inset 0 0 0 2px rgba(17,104,90,.12)!important;
}
.primary-search .question-field input{
  height:44px!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
.primary-search .search-button,
.primary-search .time-menu-button{
  width:var(--search-control-size)!important;
  height:var(--search-control-size)!important;
  min-width:var(--search-control-size)!important;
  min-height:var(--search-control-size)!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  line-height:1!important;
  transform:none!important;
  box-shadow:none!important;
}
.primary-search 
.primary-search 
.primary-search .search-button{
  background:var(--accent)!important;
  color:#fff!important;
  border:1px solid var(--accent)!important;
  font-size:.82rem!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.primary-search .search-button:hover,
.primary-search .search-button:focus-visible{
  background:var(--accent-dark)!important;
  border-color:var(--accent-dark)!important;
  outline:0!important;
}
.primary-search .time-menu-wrap{
  width:var(--search-control-size)!important;
  height:var(--search-control-size)!important;
  align-self:center!important;
  display:grid!important;
  place-items:center!important;
}
.primary-search .time-menu-button{
  background:#f3f8f6!important;
  color:var(--accent-dark)!important;
  border:1px solid #b9d0c9!important;
  font-size:1.08rem!important;
}
.primary-search .time-menu{top:48px!important}

/* Le bandeau d'informations devient un élément normal de la page. */
.view-toolbar.results-overlay{
  position:relative!important;
  inset:auto!important;
  z-index:11!important;
  transform:none!important;
  flex:0 0 48px!important;
  width:100%!important;
  max-width:none!important;
  min-height:48px!important;
  height:48px!important;
  margin:0!important;
  padding:6px 10px!important;
  border:0!important;
  border-top:1px solid #d6e4df!important;
  border-bottom:1px solid #c8dad4!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  pointer-events:auto!important;
}
.results-overlay .results-summary{
  height:36px!important;
  padding:0!important;
}
.results-overlay .toolbar-actions{height:36px!important}
.results-overlay .result-filter-menu .result-filters{top:40px!important}

/* Les suggestions suivent immédiatement le bandeau et ne recouvrent rien. */
.suggestion-bar,
.suggestion-bar[hidden]{
  order:initial!important;
  margin:0!important;
  border-top:0!important;
}

/* Plus aucun espace réservé à l'ancien bandeau superposé dans la carte/liste. */
#listView .results-list{padding-top:8px!important}
.loading:not(.points-only){top:0!important}

@media(max-width:700px){
  .primary-search{padding:6px!important}
  .primary-search .assistant-grid{
    --search-control-size:40px;
    grid-template-rows:44px!important;
    padding:1px!important;
    gap:3px!important;
    border-radius:16px!important;
  }
  .primary-search .question-field,
  .primary-search .question-field input{height:42px!important}
  .primary-search .question-field input{padding-right:45px!important}
  .primary-search 
  .primary-search .time-menu{top:46px!important}
  .view-toolbar.results-overlay{
    flex-basis:44px!important;
    min-height:44px!important;
    height:44px!important;
    padding:5px 6px!important;
  }
  .results-overlay .results-summary,
  .results-overlay .toolbar-actions{height:34px!important}
  .results-overlay .result-filter-menu .result-filters{top:38px!important}
}

@media(max-width:390px){
  .primary-search .assistant-grid{--search-control-size:38px}
  .primary-search .question-field input{padding-right:43px!important}
  .primary-search .search-button{font-size:.76rem!important}
}


/* v1.6.20 — légende contextuelle, retour et interactions Street View */
.map-status-legend span[hidden]{display:none!important}
.exit-street-view{
  position:absolute;
  left:10px;
  top:10px;
  z-index:12;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(17,104,90,.22);
  border-radius:999px;
  background:rgba(255,255,255,.97);
  color:#11685a;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
  font:800 .76rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
}
.exit-street-view:hover{background:#eef7f4}
.exit-street-view[hidden]{display:none!important}
@media(max-width:700px){.exit-street-view{left:8px;top:8px;min-height:36px;padding:0 10px}}


/* v1.6.21 — Street View discret et agenda personnalisable */
.calendar-dialog[hidden]{display:none!important}
.calendar-dialog{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.56);backdrop-filter:blur(3px)}
.calendar-dialog-card{width:min(420px,100%);display:grid;gap:13px;padding:18px;border:1px solid #cfe1dc;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.calendar-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.calendar-dialog-heading>div{display:flex;align-items:center;gap:9px;min-width:0}
.calendar-dialog-heading h2{margin:0;font-size:1rem;line-height:1.25;color:#17362f}
.calendar-dialog-card p{margin:0;color:#64748b;font-size:.82rem}
.calendar-dialog-card label{display:grid;gap:6px;min-width:0;color:#35544c;font-size:.75rem;font-weight:800}
.calendar-dialog-card input{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;border:1px solid #bfd7d0;border-radius:12px;padding:0 12px;background:#f8fbfa;color:#17362f;font:700 .9rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.calendar-time-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-width:0}
.calendar-dialog-close{width:36px;height:36px;border:0;border-radius:50%;background:#eef7f4;color:#11685a;font-size:1.35rem;line-height:1;cursor:pointer}
.calendar-dialog-submit{min-height:44px;border:0;border-radius:13px;background:#15803d;color:#fff;font:900 .85rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.calendar-dialog-submit:hover{background:#116c34}
@media(max-width:520px){.calendar-dialog{padding:10px;align-items:end}.calendar-dialog-card{border-radius:20px 20px 12px 12px}.calendar-time-grid{grid-template-columns:1fr}}

/* v1.6.23 — identité complète, raccourcis déplacés et itinéraire GPS direct */
.app-header{
  height:62px!important;
  flex:0 0 62px!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:7px 12px!important;
  overflow:visible!important;
  border-bottom:1px solid var(--line)!important;
  background:#fff!important;
}
.app-brand{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  gap:9px!important;
}
.app-brand .app-logo{
  flex:0 0 40px!important;
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
}
.app-brand-copy{
  display:grid;
  min-width:0;
  gap:2px;
  line-height:1.05;
}
.app-brand strong{
  display:block!important;
  max-width:none!important;
  overflow:hidden;
  color:var(--accent-dark);
  font-size:1rem!important;
  font-weight:950;
  line-height:1.08;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.app-brand small{
  display:block;
  overflow:hidden;
  color:var(--muted);
  font-size:.68rem;
  font-weight:700;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.header-actions{flex:0 0 auto!important}
.header-quick-actions{
  position:relative;
  z-index:19;
  flex:0 0 46px!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  padding:5px 10px!important;
  gap:4px!important;
  border-bottom:1px solid var(--line);
  background:#f7faf9;
  box-shadow:0 2px 7px rgba(17,104,90,.05);
}
.header-quick-actions .quick-action{
  flex-basis:35px!important;
  width:35px!important;
  min-width:35px!important;
  height:35px!important;
  min-height:35px!important;
  border:1px solid #d8e6e2!important;
  background:#fff!important;
}
.header-quick-actions .quick-action:hover,
.header-quick-actions .quick-action:focus-visible{
  border-color:#9fc9bf!important;
  background:var(--accent-soft)!important;
}
.header-quick-actions .quick-action-icon{font-size:1.08rem!important}

@media(max-width:700px){
  .app-header{
    height:58px!important;
    flex-basis:58px!important;
    padding:6px 8px!important;
    gap:7px!important;
  }
  .app-brand{gap:7px!important}
  .app-brand .app-logo{
    flex-basis:36px!important;
    width:36px!important;
    height:36px!important;
    border-radius:11px!important;
  }
  .app-brand strong{font-size:.9rem!important}
  .app-brand small{font-size:.6rem}
  .header-quick-actions{
    flex-basis:43px!important;
    height:43px!important;
    padding:4px 6px!important;
    gap:3px!important;
  }
  .header-quick-actions .quick-action{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
  }
  .header-quick-actions .quick-action-icon{font-size:1.04rem!important}
}

@media(max-width:390px){
  .app-header{padding-left:6px!important;padding-right:6px!important}
  .app-brand .app-logo{flex-basis:34px!important;width:34px!important;height:34px!important}
  .app-brand strong{font-size:.82rem!important}
  .app-brand small{font-size:.54rem}
  .header-quick-actions .quick-action{
    flex-basis:32px!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
  }
  .header-quick-actions .quick-action-icon{font-size:1rem!important}
}

/* v1.6.23 — l’itinéraire attend la position GPS avant d’ouvrir Google Maps */
.popup-actions .popup-route.is-loading{pointer-events:none;opacity:.72;cursor:wait}

/* v1.6.24 — infobulles stables et horaires agenda adaptatifs */


/* v1.6.25 — identité sur une ligne et actions d’infobulle toujours visibles */
.app-brand-copy{
  display:flex!important;
  flex:1 1 auto;
  align-items:baseline;
  gap:5px;
  min-width:0;
  overflow:hidden;
  line-height:1;
  white-space:nowrap;
}
.app-brand strong,
.app-brand small,
.app-brand-separator{
  flex:0 0 auto;
  display:inline!important;
  max-width:none!important;
  overflow:visible!important;
  font-size:.96rem!important;
  line-height:1.1!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.app-brand strong{color:var(--accent)!important;font-weight:950}
.app-brand-separator{color:#66736f;font-weight:750}
.app-brand small{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden!important;
  color:#52615d!important;
  font-weight:750;
  text-overflow:ellipsis!important;
}

.gm-style .gm-style-iw-chr{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:5px!important;
  min-height:43px!important;
  padding:5px 5px 3px 8px!important;
}
.gm-style .gm-style-iw-chr > button{
  flex:0 0 30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  margin:-4px -2px 0 2px!important;
  padding:0!important;
  border:1px solid #d4dfdc!important;
  border-radius:9px!important;
  background:#f6f8f7!important;
  box-shadow:none!important;
  opacity:1!important;
  color:#53615d!important;
}
.gm-style .gm-style-iw-chr > button:hover,
.gm-style .gm-style-iw-chr > button:focus-visible{
  border-color:#8bbcaf!important;
  background:#dff1eb!important;
  outline:none!important;
}
.gm-style .gm-style-iw-chr > button span{
  width:15px!important;
  height:15px!important;
  margin:0!important;
  background-color:currentColor!important;
  opacity:1!important;
}
.popup-topbar{
  position:sticky;
  top:0;
  z-index:8;
  display:flex;
  flex:1 1 auto;
  align-items:center;
  gap:4px;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
  overflow-x:auto;
  overflow-y:hidden;
  background:#fff;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
}
.popup-topbar::-webkit-scrollbar{display:none}
.popup-icon-action{
  appearance:none;
  flex:0 0 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  margin:0;
  padding:0;
  border:1px solid #cfe0db;
  border-radius:9px;
  background:#eef7f4;
  color:#11685a;
  text-decoration:none;
  font:900 1rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI Emoji","Apple Color Emoji",sans-serif;
  cursor:pointer;
}
.popup-icon-action:hover,
.popup-icon-action:focus-visible{border-color:#8bbcaf;background:#dff1eb;outline:none}
.popup-icon-action.webcod-link{border-color:#efd078;background:#fff7df;color:#805500}
.popup-icon-action svg{display:block;width:17px!important;height:17px!important}
.popup-icon-action.is-loading{pointer-events:none;opacity:.75;cursor:wait}
.popup-action-spinner{
  width:14px;
  height:14px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:popup-action-spin .75s linear infinite;
}
@keyframes popup-action-spin{to{transform:rotate(360deg)}}

@media(max-width:700px){
  .app-brand strong,
  .app-brand small,
  .app-brand-separator{font-size:.78rem!important}
  .app-brand-copy{gap:4px}
}
@media(max-width:390px){
  .app-brand strong,
  .app-brand small,
  .app-brand-separator{font-size:.68rem!important}
  .app-brand-copy{gap:3px}
  .popup-icon-action{flex-basis:29px;width:29px;height:29px;min-width:29px;min-height:29px}
}


/* v1.6.26 — identité ICI.AM et pictogrammes d’action explicites */
.app-brand strong,
.app-brand small,
.app-brand-separator{font-size:.88rem!important}
.app-brand strong{letter-spacing:-.015em}
.app-brand small{color:#4b5653!important;font-weight:760}
.popup-icon-action svg.action-svg,
.result-share svg.action-svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.popup-icon-action .route-line{stroke-dasharray:2 2}
.popup-icon-action .google-g-icon{width:18px!important;height:18px!important}
.popup-icon-action.google-link{background:#fff;border-color:#d9dde3;color:#374151}
.popup-icon-action.phone-link{background:#eef5ff;border-color:#cbdcf5;color:#2563a8}
.popup-icon-action.route-link{background:#edf8f3;border-color:#bfdfd2;color:#0f766e}
.popup-icon-action.share-link{background:#f3f0ff;border-color:#d8cff6;color:#6550a6}
.popup-icon-action.webcod-link{background:#fff7df;border-color:#efd078;color:#805500}
.result-share svg{width:17px;height:17px;display:block;margin:auto}
@media(max-width:700px){
  .app-brand strong,
  .app-brand small,
  .app-brand-separator{font-size:.72rem!important}
}
@media(max-width:390px){
  .app-brand strong,
  .app-brand small,
  .app-brand-separator{font-size:.62rem!important}
}

/* v1.8.0 — identité, compte, raccourcis et actions cohérentes */
.app-header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.app-brand{min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none}
.app-logo,.app-logo img{display:block;width:48px;height:48px;flex:0 0 48px}
.app-brand-copy{display:flex!important;flex-direction:column!important;justify-content:center;align-items:flex-start;gap:0!important;min-width:0;height:48px;line-height:1.02}
.app-brand-copy strong{display:block;font-size:1.18rem!important;line-height:1.02!important;color:#12352f;white-space:nowrap}
.app-brand-copy small{display:block;font-size:.72rem!important;line-height:1.08!important;color:#4b5653!important;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(55vw,340px)}
.app-brand-copy small b{color:#19934b;font-weight:950}
.header-actions{display:flex;align-items:center;gap:7px}
.header-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border:1px solid #bdd9d1;border-radius:12px;background:#eff8f5;color:#11685a;text-decoration:none;font-weight:950;font-size:1.15rem}
.header-icon-button:hover,.header-icon-button:focus-visible{background:#daf0e9;border-color:#78b3a4;outline:none}
.header-icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.quick-action-settings{text-decoration:none}
.result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:5px;margin-top:7px}
.result-icon-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #cfe0db;border-radius:9px;background:#eef7f4;color:#11685a;text-decoration:none;cursor:pointer;font:900 1rem/1 system-ui}
.result-icon-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.result-icon-action.phone{background:#eef5ff;border-color:#cbdcf5;color:#2563a8}
.result-icon-action.google{background:#fff;border-color:#d9dde3;color:#374151}
.result-icon-action.webcod{background:#fff7df;border-color:#efd078;color:#805500}
.result-icon-action.share{background:#f3f0ff;border-color:#d8cff6;color:#6550a6}
.result-icon-action.reserve{background:#fff4e8;border-color:#f1c99f;color:#985a13}
.author-badge.professional{background:#fff2ce;color:#765000}.author-badge.association{background:#e8efff;color:#294ea8}.author-badge.personal{background:#edf7f4;color:#0d6657}.author-badge.official{background:#eee7ff;color:#6441a5}
.calendar-dialog-card{width:min(94vw,520px)!important;max-width:520px!important;box-sizing:border-box!important;overflow:hidden!important}
.calendar-dialog-card label,.calendar-dialog-card input,.calendar-time-grid{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.calendar-time-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}
@media(max-width:520px){
  .app-header{min-height:60px;padding-inline:9px}
  .app-logo,.app-logo img{width:43px;height:43px;flex-basis:43px}
  .app-brand-copy{height:43px}
  .app-brand-copy strong{font-size:1rem!important}
  .app-brand-copy small{font-size:.58rem!important;max-width:48vw}
  .header-icon-button{width:36px;height:36px;flex-basis:36px;border-radius:10px}
  .header-icon-button svg{width:20px;height:20px}
  .calendar-time-grid{grid-template-columns:1fr!important}
  .result-side{min-width:92px}
}
@media(max-width:370px){.app-brand-copy small{font-size:.51rem!important;max-width:42vw}.header-actions{gap:4px}.header-icon-button{width:34px;height:34px;flex-basis:34px}}


/* v1.8.5 — écran d'accueil guidé au premier lancement */
.welcome-screen{
  position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  min-height:100dvh;padding:clamp(24px,5vw,64px) 18px 58px;overflow:auto;
  background:
    radial-gradient(circle at 50% 22%,rgba(255,255,255,.16),transparent 32%),
    linear-gradient(145deg,#147a63 0%,#0f6d59 46%,#095545 100%);
  color:#fff;isolation:isolate;opacity:0;transition:opacity .34s ease;
}
.welcome-pending .welcome-screen,.welcome-screen.is-visible{display:flex;opacity:1}
.welcome-pending .mobile-app{visibility:hidden;opacity:0;pointer-events:none}
.welcome-screen.is-leaving{opacity:0;pointer-events:none}
.welcome-glow{position:absolute;z-index:-1;border-radius:999px;filter:blur(2px);pointer-events:none}
.welcome-glow-one{width:min(62vw,720px);height:min(62vw,720px);left:-28vw;top:-32vw;background:rgba(83,204,151,.17)}
.welcome-glow-two{width:min(52vw,620px);height:min(52vw,620px);right:-25vw;bottom:-28vw;background:rgba(255,255,255,.09)}
.welcome-top-actions{position:absolute;top:max(18px,env(safe-area-inset-top));right:clamp(16px,3vw,36px);display:flex;gap:9px}
.welcome-top-actions a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.26);border-radius:14px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-weight:900;font-size:1.05rem;backdrop-filter:blur(12px);transition:.2s ease}
.welcome-top-actions a:hover,.welcome-top-actions a:focus-visible{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.55);outline:none;transform:translateY(-1px)}
.welcome-top-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.welcome-content{width:min(760px,100%);display:flex;flex-direction:column;align-items:center;text-align:center}
.welcome-logo-button{display:grid;place-items:center;width:clamp(126px,18vw,176px);height:clamp(126px,18vw,176px);padding:0;border:0;border-radius:36px;background:transparent;filter:drop-shadow(0 20px 38px rgba(0,39,31,.26));cursor:default}
.welcome-logo-button img{display:block;width:100%;height:100%;object-fit:contain;border-radius:32px}
.welcome-identity{display:grid;gap:2px;margin-top:10px}
.welcome-identity strong{font-size:clamp(1.28rem,2.4vw,1.72rem);letter-spacing:-.035em}
.welcome-identity span{font-size:clamp(.7rem,1.3vw,.87rem);font-weight:720;color:rgba(255,255,255,.78)}
.welcome-identity b{color:#a7eea8;font-weight:950}
.welcome-screen h1{margin:clamp(25px,4vh,42px) 0 22px;font-size:clamp(1.55rem,4vw,2.65rem);line-height:1.14;letter-spacing:-.04em;font-weight:850;text-wrap:balance}
.welcome-screen h1 span,.welcome-screen h1 small{display:block}
.welcome-screen h1 small{margin-top:5px;font:inherit;font-weight:580;color:rgba(255,255,255,.88)}
.welcome-search{width:min(700px,100%)}
.welcome-search-box{height:clamp(62px,8vw,72px);display:grid;grid-template-columns:44px minmax(0,1fr) 50px;align-items:center;padding:6px 8px 6px 12px;border:1px solid rgba(255,255,255,.45);border-radius:24px;background:#fff;box-shadow:0 22px 55px rgba(0,42,34,.24);transition:.2s ease}
.welcome-search-box:focus-within{border-color:#b9f0d6;box-shadow:0 22px 55px rgba(0,42,34,.28),0 0 0 4px rgba(205,255,229,.18);transform:translateY(-1px)}
.welcome-search-symbol{display:grid;place-items:center;color:#29715f}
.welcome-search-symbol svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.welcome-search input{width:100%;height:100%;min-width:0;border:0;outline:0;background:transparent;color:#173a31;font-size:clamp(1rem,2vw,1.13rem);font-weight:610;padding:0 7px}
.welcome-search input::placeholder{color:#7b918b;font-weight:520}
.welcome-search-box>button{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:16px;background:#11685a;color:#fff;cursor:pointer;transition:.2s ease}
.welcome-search-box>button:hover,.welcome-search-box>button:focus-visible{background:#0a574a;outline:none;transform:translateX(2px)}
.welcome-search-box>button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.welcome-suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px;max-height:128px;overflow:hidden;transition:max-height .25s ease,opacity .25s ease}
.welcome-suggestions button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:.78rem;font-weight:750;cursor:pointer;backdrop-filter:blur(9px);transition:.18s ease}
.welcome-suggestions button:hover,.welcome-suggestions button:focus-visible{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.48);outline:none;transform:translateY(-1px)}
.welcome-suggestions button[hidden]{display:none}
.welcome-explanation{margin:19px 0 0;color:rgba(255,255,255,.76);font-size:.83rem;font-weight:580}
.welcome-skip{margin-top:10px;padding:8px 10px;border:0;background:transparent;color:rgba(255,255,255,.82);font-size:.78rem;font-weight:750;cursor:pointer}
.welcome-skip:hover,.welcome-skip:focus-visible{color:#fff;text-decoration:underline;outline:none}
.welcome-footer{position:absolute;left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));margin:0;text-align:center;color:rgba(255,255,255,.55);font-size:.72rem;font-weight:620}
@media(max-width:700px){
  .welcome-screen{align-items:flex-start;padding-top:max(70px,calc(env(safe-area-inset-top) + 60px));padding-bottom:48px}
  .welcome-logo-button{width:116px;height:116px;border-radius:27px}
  .welcome-logo-button img{border-radius:25px}
  .welcome-identity{margin-top:7px}
  .welcome-screen h1{margin:26px 0 18px;font-size:clamp(1.45rem,7vw,2rem)}
  .welcome-search-box{height:60px;grid-template-columns:37px minmax(0,1fr) 45px;padding-left:10px;border-radius:20px}
  .welcome-search-box>button{width:42px;height:42px;border-radius:14px}
  .welcome-suggestions{justify-content:flex-start;flex-wrap:nowrap;width:calc(100vw - 36px);max-height:none;overflow-x:auto;padding:1px 1px 7px;scroll-snap-type:x proximity;scrollbar-width:none}
  .welcome-suggestions::-webkit-scrollbar{display:none}
  .welcome-suggestions button{flex:0 0 auto;scroll-snap-align:start}
  .welcome-explanation{font-size:.76rem;max-width:330px;line-height:1.45}
  .welcome-footer{font-size:.65rem}
}
@media(max-height:650px) and (min-width:701px){
  .welcome-screen{padding-top:28px;padding-bottom:40px}
  .welcome-logo-button{width:112px;height:112px}
  .welcome-screen h1{margin:18px 0 16px;font-size:1.65rem}
  .welcome-suggestions{margin-top:11px}
  .welcome-explanation{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.welcome-screen,.welcome-search-box,.welcome-top-actions a,.welcome-suggestions button{transition:none!important}}

/* v1.8.7 — icônes SVG universelles et directions de bus */
.ui-icon{display:inline-block;width:1.25em;height:1.25em;flex:0 0 auto;vertical-align:-.2em;color:currentColor;overflow:visible}
.quick-action-icon .ui-icon{width:22px;height:22px;vertical-align:middle}
.results-inline-icon{width:19px;height:19px;vertical-align:middle}
.welcome-suggestion-icon{width:17px;height:17px}
.transport-directions,.transport-departures{display:grid;gap:7px;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.transport-directions>strong,.transport-departures>strong{font-size:.78rem;color:var(--accent-dark)}
.transport-directions>div,.transport-departures>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-size:.76rem;line-height:1.25}
.transport-departures>div{grid-template-columns:auto auto minmax(0,1fr) auto}
.transport-departures i{font-size:.62rem;color:var(--accent-dark);font-style:normal;font-weight:800}
.line-badge{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;background:#1d4ed8;color:#fff;font-size:.68rem;font-weight:900}
@media(max-width:430px){.transport-departures>div{grid-template-columns:auto auto minmax(0,1fr)}.transport-departures i{grid-column:3}}

/* v1.8.7 — pictogrammes sur les résultats et images strictement contenues */
.result-card{
  grid-template-columns:42px minmax(0,1fr) minmax(0,76px)!important;
  overflow:hidden;
}
.result-card>*{min-width:0}
.result-rank{
  width:42px;height:42px;
  padding:8px;
  background:#eef7f4;
  color:var(--accent);
  border:1px solid #cfe0db;
  overflow:hidden;
}
.result-card.sponsored .result-rank,.result-card.webcod-result .result-rank{
  background:#fff7df;color:#9a6500;border-color:#efd078;
}
.result-type-icon{display:block;width:100%;height:100%;overflow:visible}
.result-side{
  width:76px!important;
  min-width:0!important;
  max-width:76px!important;
  overflow:hidden;
  justify-self:end;
}
.result-image-wrap{
  width:72px!important;
  max-width:100%!important;
  height:58px!important;
  min-width:0!important;
  overflow:hidden!important;
  justify-self:end;
  contain:paint;
}
.result-image-wrap .result-image{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  margin:0!important;
}
.result-image-attribution{max-width:calc(100% - 4px)}
@media(max-width:560px){
  .result-card{grid-template-columns:36px minmax(0,1fr) minmax(0,64px)!important}
  .result-rank{width:36px;height:36px;padding:7px}
  .result-side{width:64px!important;max-width:64px!important;min-width:0!important}
  .result-image-wrap{width:62px!important;height:50px!important}
}


/* v1.8.9 — liste scrollable, cartes non tronquées et bons plans communautaires distincts */
#listView.active{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden!important;
}
#listView .results-list{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  align-content:initial!important;
  gap:9px!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scrollbar-gutter:stable;
}
#listView .result-card{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
  overflow:visible!important;
}
#listView .result-content,
#listView .result-meta,
#listView .result-actions{
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
#listView .result-heading h3,
#listView .result-primary,
#listView .result-secondary{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
#listView .result-secondary{line-height:1.35}
#listView .result-actions{justify-content:flex-start!important}
#listView .result-side{align-self:start!important}
#listView .result-image-wrap{overflow:hidden!important}

.result-card.community-result{
  border-color:#8bc6b5;
  background:linear-gradient(90deg,#f0fbf7 0%,#ffffff 52%);
}
.result-card.member-tip-result .result-rank{
  background:#e4f7ef!important;
  color:#08745a!important;
  border-color:#8bc6b5!important;
  box-shadow:0 0 0 3px #eefaf6;
}
.member-publication-notice{
  display:grid;
  gap:2px;
  margin:7px 0 5px;
  padding:7px 9px;
  border:1px solid #9fd2c3;
  border-radius:10px;
  background:#eaf8f3;
  color:#0b5f4d;
  line-height:1.25;
}
.member-publication-notice strong{font-size:.72rem;font-weight:950}
.member-publication-notice span{font-size:.66rem;color:#356c60}
.member-publication-notice.is-popup{margin:7px 0 8px;padding:8px 10px}
.member-publication-notice.is-popup strong{font-size:.78rem}
.member-publication-notice.is-popup span{font-size:.72rem}
.author-badge.personal{background:#dff5ed!important;color:#08624e!important;border:1px solid #98cdbd}
.popup .author-badge{margin:1px 0 4px}
@media(max-width:560px){
  #listView .results-list{padding-bottom:calc(18px + var(--safe-bottom))!important}
  .member-publication-notice{grid-column:1/-1}
}

/* v1.9.0 — géolocalisation robuste dans les navigateurs intégrés */
.location-recovery{
  position:absolute;
  left:50%;
  bottom:18px;
  z-index:12;
  transform:translateX(-50%);
  width:min(620px,calc(100% - 24px));
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px 12px;
  align-items:center;
  padding:12px;
  border:1px solid #9dcfc1;
  border-radius:16px;
  background:rgba(255,255,255,.98);
  box-shadow:0 14px 40px rgba(5,55,44,.2);
}
.location-recovery[hidden]{display:none!important}
.location-recovery-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e5f7f1;color:#08715a;font-size:1.4rem;font-weight:900}
.location-recovery-copy{display:grid;gap:3px;min-width:0}
.location-recovery-copy strong{font-size:.83rem;color:#163d34}
.location-recovery-copy span{font-size:.72rem;line-height:1.38;color:#4c6f66}
.location-recovery-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding-left:56px}
.location-recovery-actions button{min-height:36px;padding:7px 11px;border:1px solid #9fcbbf;border-radius:10px;background:#fff;color:#105f4f;font-size:.72rem;font-weight:850;cursor:pointer}
.location-recovery-actions button:first-child{background:#11685a;border-color:#11685a;color:#fff}
.location-recovery-actions button:hover,.location-recovery-actions button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(17,104,90,.13)}
@media(max-width:560px){
  .location-recovery{bottom:10px;grid-template-columns:38px minmax(0,1fr);padding:10px;border-radius:14px}
  .location-recovery-icon{width:36px;height:36px;border-radius:11px}
  .location-recovery-actions{padding-left:0}
  .location-recovery-actions button{flex:1 1 auto}
}


/* v1.9.1 — marque agrandie et suivi GPS en temps réel */
@media(min-width:701px){
  .app-brand-copy strong{font-size:1.68rem!important;line-height:1!important}
  .app-brand-copy small{font-size:1rem!important;line-height:1.05!important;max-width:min(58vw,470px)}
  .app-brand-copy{height:54px}
  .app-logo,.app-logo img{width:54px;height:54px;flex-basis:54px}
  .app-header{min-height:72px}
}
@media(max-width:700px){
  .app-brand-copy strong{font-size:1.15rem!important;line-height:1!important}
  .app-brand-copy small{font-size:.68rem!important;line-height:1.06!important;max-width:50vw}
}
@media(max-width:390px){
  .app-brand-copy strong{font-size:1.03rem!important}
  .app-brand-copy small{font-size:.59rem!important;max-width:44vw}
}
.results-overlay .map-locate-button.active::after,
.results-overlay .map-locate-button[aria-pressed="true"]::after{
  content:"";position:absolute;inset:-6px;border:2px solid rgba(44,120,232,.38);border-radius:50%;
  animation:gps-live-pulse 1.8s ease-out infinite;pointer-events:none
}
@keyframes gps-live-pulse{0%{transform:scale(.76);opacity:.85}70%,100%{transform:scale(1.36);opacity:0}}
@media(prefers-reduced-motion:reduce){.results-overlay .map-locate-button.active::after{animation:none}}

/* v1.9.2 — sources publiques, accessibilité et fermeture d’infobulle harmonisée */
.accessibility-summary{
  display:grid;gap:4px;margin:10px 0;padding:9px 10px;
  border:1px solid #a9cec3;border-radius:11px;background:#eef8f5;color:#155f50;
}
.accessibility-summary strong{display:flex;align-items:center;gap:6px;font-size:.76rem}
.accessibility-summary strong .ui-icon{width:18px;height:18px}
.accessibility-summary span{font-size:.7rem;line-height:1.4;color:#496b63}
.accessibility-badge{display:inline-flex!important;align-items:center;gap:4px!important;background:#eef8f5!important;color:#155f50!important;border:1px solid #a9cec3!important}
.accessibility-badge .ui-icon{width:14px;height:14px}
.action-accessibility{color:#155f50!important;background:#eef8f5!important}

/* La croix reprend exactement le gabarit des boutons d’action. */
.gm-style .gm-style-iw-chr > button{
  position:relative!important;
  margin:-7px -5px 0 3px!important;
  transform:none!important;
}
.gm-style .gm-style-iw-chr > button span{display:none!important}
.gm-style .gm-style-iw-chr > button::after{
  content:"×";display:block;font-family:Arial,sans-serif;font-size:22px;line-height:1;
  font-weight:500;color:#53615d;transform:translateY(-1px)
}

/* Identité plus affirmée également sur mobile. */
@media(max-width:700px){
  .app-brand-copy strong{font-size:1.28rem!important}
  .app-brand-copy small{font-size:.72rem!important;max-width:53vw}
}
@media(max-width:390px){
  .app-brand-copy strong{font-size:1.08rem!important}
  .app-brand-copy small{font-size:.62rem!important;max-width:46vw}
}

/* v1.9.3 — GPS fluide : aucun halo animé autour de « Autour de moi » */
.results-overlay .map-locate-button.active::after,
.results-overlay .map-locate-button[aria-pressed="true"]::after{content:none!important;display:none!important;animation:none!important}

/* v1.9.3 — suggestions locales réellement populaires */
.welcome-popular-title{margin:1.05rem 0 .55rem;text-align:center;font-size:.82rem;font-weight:800;letter-spacing:.02em;color:rgba(255,255,255,.86)}
@media (max-width:700px){.welcome-popular-title{margin-top:.85rem;font-size:.78rem}.welcome-suggestions{scroll-padding-inline:1rem}}

/* v1.9.6 — rayon de préférence indépendant du zoom et marque mobile alignée */
@media(max-width:700px){
  .app-header{
    min-height:70px!important;
    padding:8px 9px!important;
    align-items:center!important;
  }
  .app-brand{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
  }
  .app-logo,.app-logo img{
    width:48px!important;
    height:48px!important;
    flex-basis:48px!important;
    align-self:center!important;
    justify-self:center!important;
  }
  .app-brand-copy{
    width:100%!important;
    height:auto!important;
    min-height:48px!important;
    align-self:center!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .app-brand-copy strong{
    font-size:1.30rem!important;
    line-height:1.02!important;
  }
  .app-brand-copy small{
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:.82rem!important;
    line-height:1.08!important;
  }
}
@media(max-width:390px){
  .app-header{min-height:66px!important;padding-inline:7px!important;gap:7px!important}
  .app-brand{grid-template-columns:44px minmax(0,1fr)!important;gap:7px!important}
  .app-logo,.app-logo img{width:44px!important;height:44px!important;flex-basis:44px!important}
  .app-brand-copy{min-height:44px!important}
  .app-brand-copy strong{font-size:1.16rem!important}
  .app-brand-copy small{font-size:.70rem!important;letter-spacing:-.01em}
  .header-actions{gap:4px!important}
}

/* v1.9.7 — raccourcis sous la carte */
.bottom-quick-actions{order:20;margin:0;padding:10px 12px 14px;border-top:1px solid rgba(16,64,54,.12);border-bottom:0;background:#fff;position:relative;z-index:5;overflow-x:auto;scrollbar-width:thin}
.workspace{order:10}.app-main{display:flex;flex-direction:column}.assistant-search{order:1}.results-overlay{order:2}.suggestion-bar{order:3}.workspace{order:4}.bottom-quick-actions{order:5}
@media(max-width:700px){.bottom-quick-actions{padding:8px 10px 12px;gap:8px}.bottom-quick-actions .quick-action{min-width:48px;min-height:48px}}


/* v1.9.8 — proposition d’installation PWA Android / iPhone */
.install-offer{
  position:fixed;
  left:50%;
  bottom:calc(14px + env(safe-area-inset-bottom,0px));
  z-index:10050;
  width:min(560px,calc(100% - 24px));
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:10px 13px;
  align-items:start;
  padding:15px 15px 13px;
  border:1px solid rgba(17,104,90,.25);
  border-radius:20px;
  background:rgba(255,255,255,.985);
  box-shadow:0 22px 65px rgba(4,49,40,.28);
  color:#153f36;
  opacity:0;
  transform:translate(-50%,calc(100% + 30px));
  transition:transform .24s ease,opacity .2s ease;
}
.install-offer[hidden]{display:none!important}
.install-offer.is-visible{opacity:1;transform:translate(-50%,0)}
.install-offer-close{
  position:absolute;top:7px;right:8px;width:34px;height:34px;padding:0;border:0;border-radius:50%;
  background:transparent;color:#5b716b;font:500 25px/1 Arial,sans-serif;cursor:pointer
}
.install-offer-close:hover,.install-offer-close:focus-visible{background:#edf6f3;color:#0d6654;outline:none}
.install-offer-icon{width:62px;height:62px;border-radius:16px;overflow:hidden;box-shadow:0 5px 16px rgba(17,104,90,.22)}
.install-offer-icon img{display:block;width:100%;height:100%;object-fit:cover}
.install-offer-copy{display:grid;gap:4px;min-width:0;padding-right:27px}
.install-offer-kicker{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0b7b63}
.install-offer-copy strong{font-size:1rem;line-height:1.18;color:#153f36}
.install-offer-copy p{margin:0;font-size:.78rem;line-height:1.42;color:#506d65}
.install-offer-steps{grid-column:1/-1;margin:5px 0 0;padding:8px 10px 8px 28px;border-radius:11px;background:#eff8f5;color:#285d50;font-size:.74rem;line-height:1.45}
.install-offer-steps li+li{margin-top:3px}
.install-offer-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:2px}
.install-offer-actions button{min-height:42px;padding:9px 15px;border-radius:12px;font-size:.78rem;font-weight:900;cursor:pointer}
.install-offer-primary{border:1px solid #11685a;background:#11685a;color:#fff;box-shadow:0 5px 14px rgba(17,104,90,.2)}
.install-offer-primary:hover,.install-offer-primary:focus-visible{background:#0d5a4d;outline:none;box-shadow:0 0 0 3px rgba(17,104,90,.16)}
.install-offer-later{border:1px solid #b8d0c9;background:#fff;color:#356158}
.install-offer-later:hover,.install-offer-later:focus-visible{background:#f1f7f5;outline:none}
@media(max-width:560px){
  .install-offer{bottom:calc(8px + env(safe-area-inset-bottom,0px));width:calc(100% - 16px);grid-template-columns:54px minmax(0,1fr);padding:13px 12px 11px;border-radius:17px}
  .install-offer-icon{width:54px;height:54px;border-radius:14px}
  .install-offer-copy{padding-right:24px}
  .install-offer-copy strong{font-size:.92rem}
  .install-offer-copy p{font-size:.74rem}
  .install-offer-actions{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .install-offer-actions button{padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){.install-offer{transition:none}}
@media(display-mode:standalone),(display-mode:fullscreen){.install-offer{display:none!important}}


/* v1.9.9 — ordre des suggestions, cadrage du rayon et accueil communautaire */
html,body,.mobile-app,.app-main{max-width:100%;min-width:0}
body{overflow-x:hidden}
.results-controls{
  order:2;
  flex:0 0 auto;
  width:100%;
  max-width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
}
.results-controls .results-overlay{order:1!important;flex:0 0 auto!important}
.results-controls .suggestion-bar{order:2!important;flex:0 0 auto!important;width:100%;max-width:100%;min-width:0}
.app-main>.workspace{order:3!important}
.app-main>.bottom-quick-actions{order:4!important}

/* Aucun élément décoratif ou carrousel ne doit élargir la page d’accueil. */
.welcome-screen{
  width:100%;
  max-width:100vw;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-x:none;
}
.welcome-content,.welcome-search,.welcome-search-box{max-width:100%;min-width:0}
.welcome-glow{max-width:100vw}
.welcome-community-cta{
  width:min(560px,100%);
  cursor:pointer;
  font:inherit;
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin-top:14px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:16px;
  background:rgba(255,255,255,.12);
  color:#fff;
  text-align:left;
  text-decoration:none;
  backdrop-filter:blur(10px);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.welcome-community-cta:hover,.welcome-community-cta:focus-visible{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.5);
  outline:none;
  transform:translateY(-1px);
}
.welcome-community-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:#11685a}
.welcome-community-icon .ui-icon{width:22px;height:22px}
.welcome-community-copy{min-width:0;display:grid;gap:2px}
.welcome-community-copy strong{font-size:.82rem;line-height:1.2}
.welcome-community-copy small{font-size:.72rem;line-height:1.35;color:rgba(255,255,255,.78)}
.welcome-community-arrow{font-size:1.25rem;font-weight:900}
@media(max-width:700px){
  .welcome-suggestions{width:100%!important;max-width:100%;min-width:0}
  .welcome-community-cta{grid-template-columns:38px minmax(0,1fr) auto;margin-top:12px;padding:9px 10px;border-radius:14px}
  .welcome-community-icon{width:38px;height:38px;border-radius:11px}
  .welcome-community-copy strong{font-size:.78rem}
  .welcome-community-copy small{font-size:.68rem}
}
@media(prefers-reduced-motion:reduce){.welcome-community-cta{transition:none}}

/* v2.0.1 — navigation catégories à deux niveaux */
.category-menu-button{border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:0;max-width:min(62vw,520px)}
.category-menu-button:hover .results-type-icon,.category-menu-button:focus-visible .results-type-icon{transform:scale(1.04)}
.category-menu-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}
.category-menu-chevron{font-size:.9rem!important;color:var(--muted)!important;transition:transform .18s ease}
.category-menu-button[aria-expanded="true"] .category-menu-chevron{transform:rotate(180deg)}
.category-menu-panel{position:relative;z-index:45;margin:0 9px 6px;border:1px solid rgba(16,64,54,.14);border-radius:16px;background:#fff;box-shadow:0 14px 34px rgba(18,57,49,.18);overflow:hidden}
.category-menu-view{padding:12px}
.category-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.category-menu-heading>strong{font-size:.92rem;color:var(--text)}
.category-menu-heading>button{border:0;background:#eef5f2;color:var(--text);border-radius:10px;min-width:34px;height:34px;font-weight:800;cursor:pointer}
.category-menu-heading .category-menu-back{width:auto;padding:0 11px;color:var(--accent);background:#edf8f5}
.category-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.category-menu-item{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;border:1px solid rgba(16,104,90,.13);background:#fbfdfc;border-radius:13px;padding:9px;text-align:left;color:var(--text);cursor:pointer}
.category-menu-item:hover,.category-menu-item:focus-visible{border-color:var(--accent);background:#f0faf7;outline:none}
.category-menu-item>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f5f1;color:var(--accent)}
.category-menu-item .ui-icon{width:21px;height:21px}
.category-menu-item strong{min-width:0;font-size:.77rem;line-height:1.18}
.category-menu-settings{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;padding:9px;border-radius:11px;background:#f4f7f6;color:var(--accent);font-size:.75rem;font-weight:800;text-decoration:none}
.category-menu-settings .ui-icon{width:18px;height:18px}
.category-menu-subtitle{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;margin-bottom:10px;padding:8px;border-radius:13px;background:#f2f8f6}
.category-menu-subtitle>.ui-icon{grid-row:1/3;width:27px;height:27px;color:var(--accent);justify-self:center}
.category-menu-subtitle strong{font-size:.88rem}
.category-menu-subtitle span{font-size:.68rem;color:var(--muted)}
.category-menu-list{display:grid;gap:7px}
.category-sub-item{display:grid;grid-template-columns:35px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;border:1px solid rgba(16,104,90,.12);background:#fff;border-radius:12px;padding:9px 10px;text-align:left;color:var(--text);cursor:pointer}
.category-sub-item:hover,.category-sub-item:focus-visible{border-color:var(--accent);background:#f2faf7;outline:none}
.category-sub-item>span:first-child{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#edf7f4;color:var(--accent)}
.category-sub-item .ui-icon{width:19px;height:19px}
.category-sub-item strong{font-size:.78rem}
.category-sub-item>span:last-child{font-size:1rem;color:var(--muted)}
@media(min-width:700px){.category-menu-panel{position:absolute;top:54px;left:12px;width:min(560px,calc(100vw - 24px));margin:0}.results-controls{position:relative}.category-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:390px){.category-menu-panel{margin-left:6px;margin-right:6px}.category-menu-view{padding:9px}.category-menu-grid{gap:6px}.category-menu-item{grid-template-columns:33px minmax(0,1fr);padding:7px;gap:7px}.category-menu-item>span{width:33px;height:33px}.category-menu-item strong{font-size:.69rem}}


/* v2.0.3 — icône tabac et correction du logo mobile */
@media(max-width:700px){
  .app-brand .app-logo{
    overflow:hidden!important;
    padding:0!important;
    background:var(--accent)!important;
  }
  .app-brand .app-logo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    padding-top:4px!important;
    box-sizing:border-box!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}
@media(max-width:390px){
  .app-brand .app-logo img{padding-top:3px!important}
}

/* v2.0.4 — actions d’infobulle verticales à gauche de la fiche */
.popup{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  column-gap:9px;
  min-width:245px;
  max-width:340px;
}
.popup-content{
  min-width:0;
  width:100%;
}
.popup-topbar{
  position:sticky;
  top:4px;
  z-index:8;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  width:34px;
  min-width:34px;
  max-width:34px;
  max-height:310px;
  margin:0;
  padding:0 2px 2px 0;
  overflow-x:hidden;
  overflow-y:auto;
  background:transparent;
  scrollbar-width:thin;
  overscroll-behavior-y:contain;
}
.popup-topbar::-webkit-scrollbar{display:block;width:3px}
.popup-topbar::-webkit-scrollbar-thumb{background:#cfe0db;border-radius:999px}
.popup-icon-action{
  flex:0 0 30px;
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
}
@media(max-width:390px){
  .popup{
    grid-template-columns:32px minmax(0,1fr);
    column-gap:7px;
    min-width:225px;
    max-width:290px;
  }
  .popup-topbar{width:32px;min-width:32px;max-width:32px;max-height:280px}
  .popup-icon-action{flex-basis:29px;width:29px;height:29px;min-width:29px;min-height:29px}
}

/* v2.0.5 — actions comme onglets extérieurs accolés à l’infobulle */
.gm-style .gm-style-iw-c,
.gm-style .gm-style-iw-d{
  overflow:visible!important;
}
.popup{
  position:relative!important;
  display:block!important;
  min-width:245px;
  max-width:340px;
}
.popup-content{
  min-width:0;
  width:100%;
}
.popup-topbar{
  position:absolute!important;
  top:8px;
  left:-43px;
  z-index:20;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:5px;
  width:40px;
  min-width:40px;
  max-width:40px;
  max-height:310px;
  margin:0;
  padding:4px 4px 4px 0;
  overflow-x:visible;
  overflow-y:auto;
  background:transparent;
  scrollbar-width:none;
  overscroll-behavior-y:contain;
}
.popup-topbar::-webkit-scrollbar{display:none}
.popup-icon-action{
  position:relative;
  flex:0 0 36px;
  width:40px;
  height:36px;
  min-width:40px;
  min-height:36px;
  border-radius:11px 0 0 11px!important;
  border:1px solid rgba(15,93,77,.16)!important;
  border-right:0!important;
  box-shadow:-3px 4px 12px rgba(15,67,56,.13);
}
.popup-icon-action:hover,
.popup-icon-action:focus-visible{
  transform:translateX(-2px);
  z-index:2;
}
@media(max-width:390px){
  .popup{min-width:225px;max-width:290px}
  .popup-topbar{left:-38px;width:36px;min-width:36px;max-width:36px;max-height:280px}
  .popup-icon-action{flex-basis:32px;width:36px;height:32px;min-width:36px;min-height:32px}
}

/* v2.0.7 — alignement vertical réel de l’identité dans le header mobile */
@media(max-width:700px){
  .app-brand-copy{
    padding-top:0!important;
    margin-top:6px!important;
    align-self:center!important;
  }
}
@media(max-width:390px){
  .app-brand-copy{margin-top:5px!important}
}


/* v2.0.8 — alignement de la marque, pictogrammes du bandeau et recherche épurée */
.primary-search .assistant-grid{
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  background:transparent!important;
}
.primary-search .question-field{
  border:1px solid #d5dfdc!important;
  box-shadow:none!important;
}
.primary-search .question-field:focus-within{
  border-color:#aebdb8!important;
  box-shadow:none!important;
}

/* Tous les contrôles du bandeau partagent le même gabarit. */
.view-toolbar.results-overlay{
  --toolbar-control-size:38px;
}
.results-overlay .map-locate-button,
.results-overlay .category-menu-button .results-type-icon,
.results-overlay .overlay-view-switch > button{
  width:var(--toolbar-control-size)!important;
  height:var(--toolbar-control-size)!important;
  min-width:var(--toolbar-control-size)!important;
  min-height:var(--toolbar-control-size)!important;
  flex:0 0 var(--toolbar-control-size)!important;
  box-sizing:border-box!important;
}
.results-overlay .category-menu-button .results-type-icon{
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  background:#edf4f2!important;
}
.results-overlay .category-menu-button .results-type-icon .ui-icon,
.results-overlay .overlay-view-switch > button svg{
  width:23px!important;
  height:23px!important;
}

/* Le logo sert d’état de géolocalisation : gris hors GPS, vert en GPS. */
.results-overlay .map-locate-button .locate-symbol{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
}
.results-overlay .map-locate-button .locate-symbol img{
  display:block!important;
  width:27px!important;
  height:27px!important;
  object-fit:contain!important;
  filter:grayscale(1) saturate(0)!important;
  opacity:.58!important;
  transition:filter .16s ease,opacity .16s ease,transform .16s ease!important;
}
.results-overlay .map-locate-button.active .locate-symbol img,
.results-overlay .map-locate-button[aria-pressed="true"] .locate-symbol img{
  filter:none!important;
  opacity:1!important;
}
.results-overlay .map-locate-button.busy .locate-symbol img{opacity:.35!important}

/* Flèche de catégories plus grande et correctement centrée. */
.category-menu-button{
  align-items:center!important;
}
.category-menu-chevron{
  display:inline-grid!important;
  place-items:center!important;
  align-self:center!important;
  width:24px!important;
  height:32px!important;
  margin:0 0 2px 2px!important;
  font-size:1.42rem!important;
  line-height:1!important;
  font-weight:900!important;
  color:#52625d!important;
  transform-origin:center!important;
}
.category-menu-button[aria-expanded="true"] .category-menu-chevron{
  transform:rotate(180deg)!important;
}

@media(max-width:700px){
  /* Décalage appliqué au texte lui-même pour neutraliser les anciennes règles. */
  .app-brand-copy{
    margin-top:0!important;
    padding-top:0!important;
    transform:translateY(4px)!important;
  }
  .app-brand-copy strong{
    margin-top:7px!important;
    margin-bottom:0!important;
    transform:none!important;
  }
  .view-toolbar.results-overlay{--toolbar-control-size:38px}
}
@media(max-width:390px){
  .app-brand-copy{transform:translateY(4px)!important}
  .app-brand-copy strong{margin-top:6px!important}
  .view-toolbar.results-overlay{--toolbar-control-size:36px}
  .results-overlay .map-locate-button .locate-symbol img{width:25px!important;height:25px!important}
  .results-overlay .category-menu-button .results-type-icon .ui-icon,
  .results-overlay .overlay-view-switch > button svg{width:21px!important;height:21px!important}
  .category-menu-chevron{width:22px!important;font-size:1.34rem!important;margin-bottom:3px!important}
}

/* v2.0.9 — barre principale toujours visible dans l’interface cartographique */
.app-header{position:sticky!important;top:0!important;z-index:120!important}


/* v2.1.0 — tailles compactes, logo GPS exact, flèche remontée et légendes repliables */
.view-toolbar.results-overlay{--toolbar-control-size:34px!important}
.results-overlay .map-locate-button,
.results-overlay .category-menu-button .results-type-icon,
.results-overlay .overlay-view-switch > button{
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex-basis:34px!important;
}
.results-overlay .overlay-view-switch{width:70px!important;height:36px!important;padding:1px!important}
.results-overlay .overlay-view-switch > button svg,
.results-overlay .category-menu-button .results-type-icon .ui-icon{width:18px!important;height:18px!important}
.results-overlay .category-menu-button .results-type-icon{border-radius:9px!important}

/* Le bouton GPS reste neutre : seul le logo change de gris à sa couleur originale. */
.results-overlay .map-locate-button,
.results-overlay .map-locate-button:hover,
.results-overlay .map-locate-button:focus-visible,
.results-overlay .map-locate-button.active,
.results-overlay .map-locate-button[aria-pressed="true"],
.results-overlay .map-locate-button.active:hover,
.results-overlay .map-locate-button[aria-pressed="true"]:hover{
  background:#fff!important;border-color:#d2ded9!important;color:inherit!important;box-shadow:none!important;
}
.results-overlay .map-locate-button .locate-symbol img{width:24px!important;height:24px!important;border-radius:0!important;background:transparent!important}
.results-overlay .map-locate-button[aria-pressed="false"] .locate-symbol img,
.results-overlay .map-locate-button.inactive .locate-symbol img{filter:grayscale(1) saturate(0)!important;opacity:.52!important}
.results-overlay .map-locate-button[aria-pressed="true"] .locate-symbol img,
.results-overlay .map-locate-button.active .locate-symbol img{filter:none!important;opacity:1!important}

/* Le glyphe est déplacé indépendamment de sa ligne de texte. */
.category-menu-chevron{
  width:22px!important;height:22px!important;margin:0 0 0 3px!important;font-size:1.35rem!important;line-height:.65!important;
  transform:translateY(-5px)!important;
}
.category-menu-button[aria-expanded="true"] .category-menu-chevron{transform:translateY(-5px) rotate(180deg)!important}

/* Bouton Légendes compact en bas à droite ; contenu affiché seulement à la demande. */
.map-status-legend{
  position:absolute!important;left:auto!important;right:10px!important;bottom:10px!important;transform:none!important;
  display:block!important;width:auto!important;max-width:min(280px,calc(100% - 20px))!important;padding:0!important;
  border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;
  pointer-events:auto!important;
}
.map-status-legend[hidden]{display:none!important}
.map-legend-toggle{
  display:flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid rgba(17,104,90,.22);
  border-radius:999px;background:rgba(255,255,255,.97);color:#17362f;box-shadow:0 4px 14px rgba(0,0,0,.14);
  font:800 .72rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;
}
.map-legend-toggle:hover,.map-legend-toggle:focus-visible{background:#f1f8f5;outline:0}
.map-legend-content{
  position:absolute;right:0;bottom:42px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;
  width:max-content;max-width:min(250px,calc(100vw - 24px));max-height:min(58vh,360px);overflow:auto;
  padding:10px 12px;border:1px solid rgba(217,229,225,.98);border-radius:14px;background:rgba(255,255,255,.98);
  box-shadow:0 10px 28px rgba(15,23,42,.18);font-size:.72rem;font-weight:750;color:var(--text);
}
.map-legend-content[hidden]{display:none!important}
.map-legend-content span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.map-message{bottom:56px!important}
@media(max-width:700px){
  .view-toolbar.results-overlay{--toolbar-control-size:34px!important}
  .results-overlay .map-locate-button,.results-overlay .category-menu-button .results-type-icon,.results-overlay .overlay-view-switch > button{
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex-basis:34px!important;
  }
  .results-overlay .overlay-view-switch{width:70px!important;height:36px!important}
  .map-status-legend{right:8px!important;bottom:8px!important}
  .map-legend-content{bottom:40px;max-height:52vh;font-size:.69rem}
  .category-menu-chevron{transform:translateY(-6px)!important}
  .category-menu-button[aria-expanded="true"] .category-menu-chevron{transform:translateY(-6px) rotate(180deg)!important}
}

/* v2.1.1 — géolocalisation verte, onglets au-dessus et légendes à gauche */
.results-overlay .map-locate-button,
.results-overlay .map-locate-button:hover,
.results-overlay .map-locate-button:focus-visible,
.results-overlay .map-locate-button.active,
.results-overlay .map-locate-button[aria-pressed="true"],
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"]{
  background:#11685a!important;
  border-color:#11685a!important;
  box-shadow:none!important;
}
.results-overlay .map-locate-button .locate-symbol{
  background:transparent!important;
}
.results-overlay .map-locate-button[aria-pressed="false"] .locate-symbol img,
.results-overlay .map-locate-button.inactive .locate-symbol img{
  filter:grayscale(1) brightness(2.55) contrast(.8)!important;
  opacity:.78!important;
}
.results-overlay .map-locate-button[aria-pressed="true"] .locate-symbol img,
.results-overlay .map-locate-button.active .locate-symbol img{
  filter:brightness(0) invert(1)!important;
  opacity:1!important;
}

/* Les actions deviennent de vrais onglets horizontaux extérieurs, au-dessus de la fiche. */
.gm-style .gm-style-iw-c,
.gm-style .gm-style-iw-d{
  overflow:visible!important;
}
.popup{
  position:relative!important;
  display:block!important;
  padding-top:0!important;
}
.popup-topbar{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:-43px!important;
  z-index:30!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  gap:4px!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  height:39px!important;
  max-height:39px!important;
  margin:0!important;
  padding:3px 3px 0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:transparent!important;
  scrollbar-width:none!important;
  white-space:nowrap!important;
}
.popup-topbar::-webkit-scrollbar{display:none!important}
.popup-icon-action,
.popup-icon-action:hover,
.popup-icon-action:focus-visible,
.popup-icon-action.google-link,
.popup-icon-action.phone-link,
.popup-icon-action.route-link,
.popup-icon-action.share-link,
.popup-icon-action.webcod-link{
  position:relative!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  border:1px solid #d9e5e1!important;
  border-bottom-color:#fff!important;
  border-radius:10px 10px 0 0!important;
  background:#fff!important;
  box-shadow:0 -3px 10px rgba(15,67,56,.10)!important;
  transform:none!important;
}
.popup-icon-action:hover,
.popup-icon-action:focus-visible{
  background:#fff!important;
  border-color:#9fc7bb!important;
  border-bottom-color:#fff!important;
  outline:none!important;
}
@media(max-width:390px){
  .popup-topbar{top:-39px!important;height:35px!important;max-height:35px!important;gap:3px!important}
  .popup-icon-action,
  .popup-icon-action:hover,
  .popup-icon-action:focus-visible{
    flex-basis:32px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  }
}

/* Bouton et panneau des légendes en bas à gauche. */
.map-status-legend{
  left:10px!important;
  right:auto!important;
  bottom:10px!important;
}
.map-legend-content{
  left:0!important;
  right:auto!important;
}
@media(max-width:700px){
  .map-status-legend{left:8px!important;right:auto!important;bottom:8px!important}
}

/* v2.1.4 — états GPS lisibles : seul le pictogramme est blanc */
.results-overlay .map-locate-button,
.results-overlay .map-locate-button:hover,
.results-overlay .map-locate-button:focus-visible,
.results-overlay .map-locate-button.active,
.results-overlay .map-locate-button[aria-pressed="true"],
.results-overlay .map-locate-button.active:hover,
.results-overlay .map-locate-button[aria-pressed="true"]:hover{
  background:#11685a!important;
  border-color:#11685a!important;
}
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"],
.results-overlay .map-locate-button.inactive:hover,
.results-overlay .map-locate-button[aria-pressed="false"]:hover,
.results-overlay .map-locate-button.inactive:focus-visible,
.results-overlay .map-locate-button[aria-pressed="false"]:focus-visible{
  background:#4f5b57!important;
  border-color:#4f5b57!important;
}
.results-overlay .map-locate-button .locate-symbol img,
.results-overlay .map-locate-button.active .locate-symbol img,
.results-overlay .map-locate-button.inactive .locate-symbol img,
.results-overlay .map-locate-button[aria-pressed="true"] .locate-symbol img,
.results-overlay .map-locate-button[aria-pressed="false"] .locate-symbol img{
  width:25px!important;height:25px!important;filter:none!important;opacity:1!important;background:transparent!important;border-radius:0!important;
}


/* v2.1.5 — états GPS sans fond résiduel et légendes remontées */
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"],
.results-overlay .map-locate-button.inactive:hover,
.results-overlay .map-locate-button[aria-pressed="false"]:hover,
.results-overlay .map-locate-button.inactive:focus-visible,
.results-overlay .map-locate-button[aria-pressed="false"]:focus-visible{
  background:#66716d!important;
  border-color:#66716d!important;
  background-image:none!important;
}
.results-overlay .map-locate-button.active,
.results-overlay .map-locate-button[aria-pressed="true"]{background:#11685a!important;border-color:#11685a!important;background-image:none!important}
.results-overlay .map-locate-button .locate-symbol{background:transparent!important;border:0!important;box-shadow:none!important}
.map-status-legend{bottom:50px!important}
@media(max-width:700px){.map-status-legend{bottom:48px!important}}


/* v2.1.6 — proposition PWA uniquement sur l'accueil vert */
.install-offer-actions[hidden]{display:none!important}
.welcome-screen .install-offer{z-index:3}
@media(max-width:700px){
  .welcome-screen .install-offer{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .welcome-screen:has(.install-offer.is-visible) .welcome-footer{bottom:160px}
}


/* v2.1.7 — accueil simplifié et variante grise de géolocalisation */
.welcome-tagline{margin:10px 0 0;color:rgba(255,255,255,.82);font-size:.86rem;font-weight:680;text-align:center}
.welcome-screen h1 small{white-space:nowrap}
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"],
.results-overlay .map-locate-button.inactive:hover,
.results-overlay .map-locate-button[aria-pressed="false"]:hover,
.results-overlay .map-locate-button.inactive:focus-visible,
.results-overlay .map-locate-button[aria-pressed="false"]:focus-visible{background:#66716d!important;border-color:#66716d!important}
.results-overlay .map-locate-button .locate-symbol img{border-radius:6px!important}
@media(max-width:700px){
  .welcome-tagline{font-size:.76rem;line-height:1.35;max-width:330px}
  .welcome-screen h1 small{font-size:clamp(1rem,5vw,1.45rem);letter-spacing:-.03em}
}
@media(max-width:370px){.welcome-screen h1 small{font-size:.98rem}}

/* v2.1.8 — clustering hiérarchique adaptatif selon le niveau de zoom */


/* v2.2.0 — état GPS inactif demandé et clusters chiffrés */
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"],
.results-overlay .map-locate-button.inactive:hover,
.results-overlay .map-locate-button[aria-pressed="false"]:hover,
.results-overlay .map-locate-button.inactive:focus-visible,
.results-overlay .map-locate-button[aria-pressed="false"]:focus-visible {
  background:#bababa!important;
  border-color:#bababa!important;
  background-image:none!important;
}

/* v2.2.3 — onglets réellement extérieurs et titre aligné avec la fermeture */
.gm-style .gm-style-iw-tc{z-index:2!important}
.gm-style .gm-style-iw-c{overflow:visible!important}
.gm-style .gm-style-iw-c > .gm-style-iw-d{overflow:auto!important}
.gm-style .gm-style-iw-c + *{overflow:visible!important}
.gm-style .popup-topbar{display:none!important}
.gm-style .popup-external-toolbar{
  position:absolute!important;
  left:0!important;
  bottom:calc(100% + 3px)!important;
  z-index:1002!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:4px!important;
  width:max-content!important;
  max-width:min(290px,calc(100vw - 36px))!important;
  min-height:40px!important;
  margin:0!important;
  padding:3px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:transparent!important;
  scrollbar-width:none!important;
  white-space:nowrap!important;
}
.gm-style .popup-external-toolbar::-webkit-scrollbar{display:none!important}
.gm-style .popup-external-toolbar .popup-icon-action,
.gm-style .popup-external-toolbar .popup-icon-action:hover,
.gm-style .popup-external-toolbar .popup-icon-action:focus-visible{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
  border:1px solid #d9e5e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#11685a!important;
  box-shadow:0 3px 10px rgba(15,46,39,.14)!important;
}
.gm-style .gm-style-iw-chr{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:42px!important;
  padding:7px 7px 3px 14px!important;
}
.gm-style .popup-native-title{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font-size:1rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  color:#17342d!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.gm-style .gm-style-iw-chr > button{
  position:static!important;
  flex:0 0 32px!important;
  margin:0!important;
}

/* v2.2.7 — harmonisation GO/horloge et icône de catégorie */
.primary-search .search-button,
.primary-search .search-button:hover,
.primary-search .search-button:focus-visible {
  background:#f3f8f6!important;
  border-color:#b9d0c9!important;
  color:#66716d!important;
  box-shadow:none!important;
}
.primary-search .time-menu-button,
.primary-search .time-menu-button:hover,
.primary-search .time-menu-button:focus-visible {
  background:#f3f8f6!important;
  border-color:#b9d0c9!important;
  color:#66716d!important;
  box-shadow:none!important;
}
.results-overlay .category-menu-button .results-type-icon,
.results-overlay .category-menu-button:hover .results-type-icon,
.results-overlay .category-menu-button:focus-visible .results-type-icon {
  background:#11685a!important;
  border-color:#11685a!important;
  color:#fff!important;
  box-shadow:none!important;
}
.results-overlay .category-menu-button .results-type-icon .ui-icon {
  color:#fff!important;
  stroke:#fff!important;
  fill:none!important;
}

/* v2.3.3 — mémoire cartographique, contrôles uniformes et niveau de zoom */
:root{--imap-square-control:34px}

/* Tous les carrés d'action utilisent le gabarit Carte/Liste. */
.app-header .app-logo,
.app-header .app-logo img,
.app-header .header-icon-button,
.primary-search .search-button,
.primary-search .time-menu-button,
.results-overlay .map-locate-button,
.results-overlay .category-menu-button .results-type-icon,
.results-overlay .compact-filter-button,
.results-overlay .overlay-view-switch > button{
  width:var(--imap-square-control)!important;
  height:var(--imap-square-control)!important;
  min-width:var(--imap-square-control)!important;
  min-height:var(--imap-square-control)!important;
  flex:0 0 var(--imap-square-control)!important;
  box-sizing:border-box!important;
  border-radius:9px!important;
}
.app-header .app-logo,
.app-header .app-logo img{display:block!important;padding:0!important;margin:0!important;object-fit:contain!important}
.app-header .header-icon-button svg,
.primary-search .time-menu-button .ui-icon,
.results-overlay .compact-filter-button svg,
.results-overlay .overlay-view-switch > button svg,
.results-overlay .category-menu-button .results-type-icon .ui-icon{
  width:18px!important;
  height:18px!important;
}
.app-header .header-icon-button{font-size:1rem!important}
.primary-search .assistant-grid{align-items:center!important}
.primary-search .search-button{font-size:.72rem!important;font-weight:900!important;padding:0!important}
.primary-search .time-menu-button{padding:0!important}
.results-overlay .compact-filter-button{padding:0!important;display:grid!important;place-items:center!important}
.results-overlay .map-locate-button{
  position:static!important;
  inset:auto!important;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.results-overlay .map-locate-button .locate-symbol img{width:22px!important;height:22px!important;border-radius:0!important}
.results-overlay .overlay-view-switch{width:70px!important;height:36px!important;padding:1px!important}
.results-overlay .toolbar-actions{gap:5px!important}

/* Niveau de zoom sous le bouton Légendes. */
.map-zoom-indicator{
  position:absolute;
  z-index:9;
  left:8px;
  bottom:12px;
  min-height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 9px;
  border:1px solid #d2dfdb;
  border-radius:9px;
  background:rgba(255,255,255,.96);
  color:#52625d;
  box-shadow:0 3px 10px rgba(15,46,39,.12);
  font-size:.7rem;
  line-height:1;
  font-weight:850;
  pointer-events:none;
}
.map-status-legend{left:8px!important;right:auto!important;bottom:48px!important}
.map-legend-content{left:0!important;right:auto!important}

@media(max-width:700px){
  :root{--imap-square-control:34px}
  .app-header .app-logo,
  .app-header .app-logo img,
  .app-header .header-icon-button{width:34px!important;height:34px!important;flex-basis:34px!important}
  .primary-search .assistant-grid{--search-control-size:34px!important}
  .map-zoom-indicator{left:8px;bottom:10px}
  .map-status-legend{bottom:46px!important}
}

/* Ajustements finaux du bandeau pour éviter tout débordement mobile. */
.view-toolbar.results-overlay .category-menu-button{flex:1 1 auto!important;min-width:0!important;max-width:none!important}
.view-toolbar.results-overlay .toolbar-actions{flex:0 0 auto!important}
.results-overlay .map-locate-button .locate-symbol img{width:18px!important;height:18px!important}


/* v2.4.2 — actions au-dessus, titre complet et avis toujours visibles */
.gm-style .popup-external-toolbar{
  left:8px!important;
  right:auto!important;
  top:auto!important;
  bottom:calc(100% + 5px)!important;
  z-index:2147483000!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.gm-style .popup-native-title{
  display:block!important;
  max-width:100%!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.2!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
}
.gm-style .gm-style-iw-chr{
  align-items:flex-start!important;
}
.popup-heading h3{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
}
.popup-rating{margin:6px 0!important}


/* v2.4.4 — barre d’actions réellement au-dessus et en-tête sans décalage */
.gm-style .gm-style-iw-c{
  position:absolute!important;
  overflow:visible!important;
}
.gm-style .gm-style-iw-c > .popup-external-toolbar{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:auto!important;
  bottom:calc(100% + 6px)!important;
  z-index:2147483000!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:max-content!important;
  max-width:min(300px,calc(100vw - 28px))!important;
  min-height:40px!important;
  margin:0!important;
  padding:2px 0!important;
  transform:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.gm-style .gm-style-iw-chr{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  min-height:40px!important;
  margin:0!important;
  padding:6px 6px 2px 6px!important;
}
.gm-style .popup-native-title{
  box-sizing:border-box!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  text-indent:0!important;
  transform:none!important;
  display:block!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.2!important;
}
.gm-style .gm-style-iw-chr > button{
  position:static!important;
  inset:auto!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  align-self:flex-start!important;
}
.gm-style .gm-style-iw-d,
.gm-style .popup,
.gm-style .popup-content{
  margin-left:0!important;
  padding-left:0!important;
}
.gm-style .popup-content{
  padding-right:6px!important;
  padding-bottom:6px!important;
}

/* v3.1.0 — base stable 2.4.7, alertes autonomes et filtres corrigés */
.primary-search .assistant-grid{
  grid-template-columns:minmax(0,1fr) 50px 46px 46px!important;
  grid-template-areas:"question search time alert"!important;
}
.create-alert-button{
  grid-area:alert;
  position:relative;
  display:grid;
  place-items:center;
  align-self:center;
  width:46px;
  height:46px;
  min-width:46px;
  padding:0;
  overflow:visible;
  border:1px solid #a8d5ca;
  border-radius:15px;
  background:#eefaf7;
  color:#11685a;
  box-shadow:0 6px 18px rgba(17,104,90,.12);
  cursor:pointer;
  font-size:1rem;
}
.create-alert-button:hover,.create-alert-button:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:0}
.local-alert-badge{
  position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;
  display:grid;place-items:center;border:2px solid #fff;border-radius:999px;
  background:#c62828;color:#fff;font-size:.61rem;font-weight:900;line-height:1;
  box-shadow:0 2px 6px rgba(0,0,0,.22)
}
.local-alert-badge[hidden]{display:none!important}

.alert-dialog{position:fixed;inset:0;background:rgba(8,25,22,.55);z-index:10020;display:grid;place-items:center;padding:15px}
.alert-dialog[hidden]{display:none!important}
.alert-dialog-card{position:relative;width:min(620px,100%);max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-radius:16px;padding:22px;display:grid;gap:12px;box-shadow:0 20px 70px rgba(0,0,0,.28)}
.alert-dialog-card [hidden]{display:none!important}
.alert-dialog-card label{display:grid;gap:5px;font-weight:700}
.alert-dialog-card input,.alert-dialog-card select{padding:10px;border:1px solid #cbdad5;border-radius:9px}
.alert-dialog-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:25px;cursor:pointer}
.alert-dialog-card h2{margin:0;padding-right:34px}
.alert-dialog-card h3{margin:0;font-size:1rem;color:#183e36}
.alert-submit{border:0;border-radius:10px;padding:12px;background:#11685a;color:#fff;font-weight:800;cursor:pointer}
.alert-submit:disabled{opacity:.5;cursor:not-allowed}
.check-line{grid-template-columns:auto 1fr!important;align-items:center}.check-line input{width:auto}
#alertDeviceHelp{margin:-4px 0 0;padding:8px 10px;border-radius:9px;background:#eef8f5;color:#315f55;line-height:1.35}
.alert-create-section,.alert-manage-section{display:grid;gap:10px;padding:14px;border:1px solid #d7e6e1;border-radius:13px;background:#fbfdfc}
.alert-manage-section{background:#f5faf8}
.alert-manage-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
#alertListRefresh{border:1px solid #b8d2ca;border-radius:8px;background:#fff;color:#11685a;padding:7px 10px;font-weight:800;cursor:pointer}
.alert-list{display:grid;gap:9px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}
.alert-list-empty{margin:0;padding:12px;border:1px dashed #bdd2cc;border-radius:10px;background:#fff;color:#597069;text-align:center}
.alert-list-empty.error{color:#9b2c2c;border-color:#e6b4b4;background:#fff7f7}
.alert-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #cfdfda;border-radius:11px;background:#fff}
.alert-list-item-main{display:grid;gap:4px;min-width:0}.alert-list-item-main strong{font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}.alert-list-item-main>span{font-size:.74rem;color:#5b6e68;line-height:1.35}
.alert-status{justify-self:start;display:inline-flex;padding:3px 7px;border-radius:999px;background:#e8f5ef;color:#176046;font-size:.66rem;font-style:normal;font-weight:900}
.alert-status.paused{background:#f3f1e8;color:#725c12}.alert-status.pending{background:#eef1f8;color:#40557c}
.alert-list-actions{display:flex;flex-direction:column;gap:6px}.alert-list-actions button{border:1px solid #b8d2ca;border-radius:8px;background:#fff;color:#11685a;padding:7px 9px;font-size:.72rem;font-weight:850;cursor:pointer}.alert-list-actions button.danger{border-color:#e5b5b5;color:#a52b2b;background:#fff8f8}
.alert-create-disclosure{border:1px solid #b9d5cc;border-radius:13px;background:#fff;overflow:hidden}.alert-create-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:#11685a;font-weight:900;cursor:pointer;list-style:none}.alert-create-disclosure>summary::-webkit-details-marker{display:none}.alert-create-disclosure>summary small{color:#657a73;font-size:.7rem;font-weight:700}.alert-create-disclosure[open]>summary{border-bottom:1px solid #d7e6e1;background:#f3faf7}.alert-create-disclosure .alert-create-section{border:0;border-radius:0;padding:12px;background:#fff}.alert-manage-count{color:#64748b;font-size:.78rem}.alert-manage-section{order:-1}.alert-dialog-card{gap:9px}.alert-list{max-height:310px}.alert-list-item{padding:9px}.alert-list-actions{flex-direction:row}.alert-list-actions button{padding:6px 8px}

/* v3.8.7 — actions uniformes et ruban de filtres manipulable. */
.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 42px 42px 42px!important;grid-template-areas:"question search time alert"!important}
.primary-search .search-button,.primary-search .time-menu-wrap,.primary-search .time-menu-button,.primary-search .create-alert-button{box-sizing:border-box!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0!important;border:1px solid #b9d0c9!important;border-radius:13px!important;background:#f3f8f6!important;color:#66716d!important;box-shadow:none!important}
.primary-search .search-button,.primary-search .time-menu-button,.primary-search .create-alert-button{display:grid!important;place-items:center!important;line-height:1!important}
.primary-search .search-button{font-size:.72rem!important;font-weight:900!important}
.primary-search .time-menu-button .ui-icon,.primary-search .create-alert-button .ui-icon{width:20px!important;height:20px!important}
.criteria-label{flex:0 0 auto;color:#315f55;font-size:.73rem;font-weight:900;white-space:nowrap}
.active-criteria-list.is-dragging{cursor:grabbing;scroll-snap-type:none!important;user-select:none}
.active-criteria-list.is-dragging .active-criterion-chip{pointer-events:none}
@media(max-width:390px){.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 40px 40px!important}.primary-search .search-button,.primary-search .time-menu-wrap,.primary-search .time-menu-button,.primary-search .create-alert-button{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}}

/* v3.8.8 ultime priorité : hauteur réelle PWA, suggestions incluses, légende à la place du zoom. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{
    position:fixed!important;inset:0!important;width:100%!important;
    height:var(--imap-viewport-height,100dvh)!important;min-height:0!important;max-height:none!important;
    margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important
  }
  html.installed-app .mobile-app{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
    min-height:0!important;max-height:none!important;margin:0!important;overflow:hidden!important
  }
  html.installed-app .app-main{
    display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;
    min-height:0!important;height:auto!important;overflow:hidden!important
  }
  html.installed-app .primary-search{grid-row:1!important}
  html.installed-app .results-controls{grid-row:2!important;min-height:0!important}
  html.installed-app .workspace{
    grid-row:3!important;position:relative!important;display:block!important;
    width:100%!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;background:#dce7e4!important;overflow:hidden!important
  }
  html.installed-app .app-main>.answer-bar{grid-row:4!important;min-height:0!important;margin:0!important}
  html.installed-app .view-panel,html.installed-app #map{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    min-height:0!important;margin:0!important;padding:0!important
  }
  .map-zoom-indicator{display:none!important}
  .map-status-legend{left:8px!important;right:auto!important;bottom:10px!important;transform:none!important}
  .map-status-legend .map-legend-content{left:0!important;right:auto!important;bottom:calc(100% + 7px)!important}
}

/* v3.9.8 — remplissage physique du viewport, sans hauteur visualViewport sur la page. */
@media(max-width:699px){
  html.installed-app{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important}
  html.installed-app body{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important}
  html.installed-app .mobile-app,html.installed-app .welcome-screen{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;box-sizing:border-box!important}
  html.installed-app.welcome-pending,html.installed-app.welcome-pending body{background:#11685a!important}
}

/* Avancée franche dans la rue : cycle court et profondeur importante. */
.welcome-map-animation{animation:welcomeStreetAdvanceDeep 5s cubic-bezier(.32,.02,.28,1) infinite alternate!important;will-change:transform,background-position}
@keyframes welcomeStreetAdvanceDeep{0%{transform:scale(1.01);background-position:50% 50%}100%{transform:scale(1.52);background-position:50% 68%}}
@media(max-width:700px){.welcome-map-animation{animation-duration:6s!important}}
@media(prefers-reduced-motion:reduce){.welcome-map-animation{animation:none!important;transform:scale(1.08)!important}}

/* v3.9.9 — parallaxe continu vers l’avant, sans aucun dézoom. */
.welcome-map-animation{background:#11685a!important;transform:none!important;animation:none!important;will-change:auto!important}
.welcome-city-layer{position:absolute;z-index:0;inset:-12%;display:block;background-image:linear-gradient(145deg,rgba(6,82,65,.38),rgba(17,104,90,.28) 48%,rgba(5,70,56,.4)),url('../images/welcome-shopping-street-v3.webp');background-size:cover;background-position:50% 50%;opacity:0;transform-origin:50% 58%;will-change:transform,opacity,background-position;animation:welcomeCityForwardLayer 12s linear infinite}
.welcome-city-layer-b{animation-delay:-6s}
@keyframes welcomeCityForwardLayer{0%{opacity:0;transform:scale(1);background-position:50% 48%}8%{opacity:1}50%{opacity:1}62%{opacity:0;transform:scale(1.72);background-position:50% 72%}100%{opacity:0;transform:scale(1.72);background-position:50% 72%}}
.city-perspective-point{--travel-x:0vw;--travel-y:-12vh;opacity:0;will-change:transform,opacity;animation:cityPointParallax 9s cubic-bezier(.2,.05,.25,1) infinite!important}
.city-point-5{--travel-x:-18vw;--travel-y:8vh;animation-delay:-.5s!important}.city-point-1{--travel-x:18vw;--travel-y:10vh;animation-delay:-1.7s!important}.city-point-6{--travel-x:-24vw;--travel-y:14vh;animation-delay:-2.9s!important}.city-point-2{--travel-x:24vw;--travel-y:16vh;animation-delay:-4.1s!important}.city-point-7{--travel-x:-30vw;--travel-y:20vh;animation-delay:-5.3s!important}.city-point-3{--travel-x:30vw;--travel-y:23vh;animation-delay:-6.5s!important}.city-point-4{--travel-x:-36vw;--travel-y:27vh;animation-delay:-7.7s!important}
@keyframes cityPointParallax{0%,8%{opacity:0;transform:translate(0,0) scale(.48)}18%{opacity:1}72%{opacity:1}92%,100%{opacity:0;transform:translate(var(--travel-x),var(--travel-y)) scale(1.7)}}
@media(max-width:700px){.welcome-city-layer{animation-duration:10s}.welcome-city-layer-b{animation-delay:-5s}.city-perspective-point{animation-duration:8s!important}}
@media(prefers-reduced-motion:reduce){.welcome-city-layer{animation:none!important;opacity:1!important;transform:scale(1.06)!important}.welcome-city-layer-b{display:none!important}.city-perspective-point{animation:none!important;opacity:.82!important;transform:none!important}}

/* v3.9.11 — groupe Position/Carte/Liste indivisible et ruban défilant. */
.workspace>.map-view-overlay{position:absolute!important;z-index:80!important;top:10px!important;right:10px!important;bottom:auto!important;left:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;width:auto!important;min-width:0!important;max-width:calc(100% - 20px)!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;background:transparent!important;transform:none!important}
.workspace>.map-view-overlay>button{position:relative!important;inset:auto!important;flex:0 0 40px!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important;padding:0!important;overflow:visible!important;border-radius:11px!important;transform:none!important}
.workspace>.map-view-overlay>button svg{display:block!important;width:21px!important;height:21px!important;overflow:visible!important;stroke-width:1.9!important}
.workspace>.map-view-overlay>#listViewButton svg{width:22px!important;height:22px!important}
#listView.active{padding:0!important;overflow:hidden!important}
#listView .results-list{box-sizing:border-box!important;padding-top:68px!important}
.active-criteria-list{display:flex!important;flex:1 1 0!important;width:0!important;min-width:0!important;max-width:none!important;gap:6px!important;overflow-x:scroll!important;overflow-y:hidden!important;scroll-behavior:auto!important;scroll-snap-type:none!important;white-space:nowrap!important}
.active-criterion-chip{flex:0 0 auto!important}
@media(max-width:699px){.workspace>.map-view-overlay{top:8px!important;right:8px!important;gap:5px!important;max-width:calc(100% - 16px)!important}.workspace>.map-view-overlay>button{flex-basis:38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}.workspace>.map-view-overlay>button svg{width:20px!important;height:20px!important}#listView .results-list{padding-top:62px!important}}

/* v3.9.10 — grand viewport PWA, y compris la zone inférieure réservée. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{top:0!important;bottom:auto!important;width:100%!important;height:100lvh!important;min-height:100lvh!important;max-height:100lvh!important;overflow:hidden!important}
  html.installed-app .mobile-app,html.installed-app .welcome-screen{top:0!important;bottom:auto!important;width:100%!important;height:100lvh!important;min-height:100lvh!important;max-height:100lvh!important;overflow:hidden!important}
  html.installed-app .mobile-app{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}
  html.installed-app .app-main{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}
  html.installed-app .workspace{grid-row:3!important;height:auto!important;min-height:0!important;align-self:stretch!important}
  html.installed-app .welcome-screen{overflow-x:hidden!important;overflow-y:auto!important}
  html.installed-app.welcome-pending{background-image:linear-gradient(rgba(17,104,90,.3),rgba(17,104,90,.3)),url('../images/welcome-shopping-street-v3.webp')!important;background-size:cover!important;background-position:center bottom!important;background-color:#11685a!important}
}
@supports not (height:100lvh){@media(max-width:699px){html.installed-app,html.installed-app body,html.installed-app .mobile-app,html.installed-app .welcome-screen{height:100vh!important;min-height:100vh!important;max-height:100vh!important}}}

/* v3.9.0 priorité finale — moteur, filtres et modes compacts. */
.primary-search{padding:7px 8px!important}.primary-search .question-field{min-width:0!important}.primary-search .question-field input{padding-left:12px!important}
.results-controls{display:flex!important;flex-direction:column!important;background:#fff!important}
.active-criteria-bar{order:1;display:flex;align-items:center;gap:6px;min-width:0;padding:0 8px 7px!important;border:0!important;background:#fff!important}.active-criteria-bar[hidden]{display:none!important}
.active-criteria-list{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.active-criteria-list::-webkit-scrollbar{display:none}
.reset-search-button{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #c8dad5;border-radius:10px;background:#fff;color:#315f55;font-size:1.2rem;font-weight:900;cursor:pointer}
.view-toolbar{order:2!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;min-height:44px!important;padding:6px 8px!important;border-top:1px solid #d9e5e1!important;border-bottom:1px solid #d9e5e1!important;background:#f4f8f6!important}
.view-toolbar .results-summary,.view-toolbar .map-locate-button,.view-toolbar .view-switch button{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 9px!important;border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important;box-shadow:none!important;transform:none!important}
.view-toolbar .results-summary{width:auto!important;max-width:none!important}.view-toolbar .toolbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important}.view-toolbar .map-locate-button{width:auto!important;min-width:34px!important}.view-toolbar .map-locate-button .locate-symbol img{width:20px!important;height:20px!important}
.view-toolbar .view-switch{display:flex!important;gap:4px!important;padding:0!important;border:0!important;background:transparent!important}.view-toolbar .view-switch button{width:auto!important;min-width:34px!important}.view-toolbar .view-switch button.active{border-color:#11685a!important;background:#11685a!important;color:#fff!important}.toolbar-button-label{font-size:.74rem;font-weight:850;white-space:nowrap}
@media(max-width:699px){
  .primary-search{padding:5px 6px!important}.active-criteria-bar{padding:0 6px 5px!important}.view-toolbar{min-height:40px!important;padding:4px 6px!important;gap:4px!important}
  .view-toolbar .results-summary,.view-toolbar .map-locate-button,.view-toolbar .view-switch button{height:32px!important;min-height:32px!important;padding:0 7px!important}.view-toolbar .map-locate-button{width:32px!important;padding:0!important}
  .view-toolbar .map-locate-button .toolbar-button-label,.view-toolbar .view-switch .toolbar-button-label{display:none!important}.view-toolbar .results-summary .toolbar-button-label{font-size:.71rem}.reset-search-button{flex-basis:32px;width:32px;height:32px}
}

/* v3.9.0 — organisation compacte du moteur réellement intégrée. */
.primary-search{padding:7px 8px!important}
.primary-search .question-field{min-width:0!important}
.primary-search .question-field input{padding-left:12px!important}
.results-controls{display:flex!important;flex-direction:column!important;background:#fff!important}
.active-criteria-bar{order:1;display:flex;align-items:center;gap:6px;min-width:0;padding:0 8px 7px!important;border:0!important;background:#fff!important}
.active-criteria-bar[hidden]{display:none!important}
.active-criteria-list{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.active-criteria-list::-webkit-scrollbar{display:none}
.reset-search-button{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #c8dad5;border-radius:10px;background:#fff;color:#315f55;font-size:1.2rem;font-weight:900;cursor:pointer}
.reset-search-button:hover,.reset-search-button:focus-visible{border-color:#11685a;background:#eef8f5;outline:0}
.view-toolbar{order:2!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;min-height:44px!important;padding:6px 8px!important;border-top:1px solid #d9e5e1!important;border-bottom:1px solid #d9e5e1!important;background:#f4f8f6!important}
.view-toolbar .results-summary,.view-toolbar .map-locate-button,.view-toolbar .view-switch button{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 9px!important;border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important;box-shadow:none!important;transform:none!important}
.view-toolbar .results-summary{width:auto!important;max-width:none!important}
.view-toolbar .toolbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important}
.view-toolbar .map-locate-button{width:auto!important;min-width:34px!important}
.view-toolbar .map-locate-button .locate-symbol img{width:20px!important;height:20px!important}
.view-toolbar .view-switch{display:flex!important;gap:4px!important;padding:0!important;border:0!important;background:transparent!important}
.view-toolbar .view-switch button{width:auto!important;min-width:34px!important}
.view-toolbar .view-switch button.active{border-color:#11685a!important;background:#11685a!important;color:#fff!important}
.toolbar-button-label{font-size:.74rem;font-weight:850;white-space:nowrap}
.category-menu-panel{order:3}
@media(max-width:699px){
  .primary-search{padding:5px 6px!important}
  .active-criteria-bar{padding:0 6px 5px!important}
  .view-toolbar{min-height:40px!important;padding:4px 6px!important;gap:4px!important}
  .view-toolbar .results-summary,.view-toolbar .map-locate-button,.view-toolbar .view-switch button{height:32px!important;min-height:32px!important;padding:0 7px!important}
  .view-toolbar .map-locate-button{width:32px!important;padding:0!important}
  .view-toolbar .map-locate-button .toolbar-button-label,.view-toolbar .view-switch .toolbar-button-label{display:none!important}
  .view-toolbar .results-summary .toolbar-button-label{font-size:.71rem}
  .reset-search-button{flex-basis:32px;width:32px;height:32px}
}

/* v3.8.8 final — PWA bord à bord et commandes cartographiques mobiles. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{
    position:fixed!important;inset:0!important;width:100%!important;
    height:var(--imap-viewport-height,100dvh)!important;min-height:0!important;max-height:none!important;
    margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important
  }
  html.installed-app .mobile-app{
    position:absolute!important;inset:0!important;display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;width:100%!important;height:100%!important;
    min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important
  }
  html.installed-app .app-header{grid-row:1!important}
  html.installed-app .app-main{
    grid-row:2!important;display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
    width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important
  }
  html.installed-app .primary-search{grid-row:1!important}
  html.installed-app .results-controls{grid-row:2!important;min-height:0!important}
  html.installed-app .workspace{
    grid-row:3!important;position:relative!important;display:block!important;
    width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
    overflow:hidden!important;background:#dce7e4!important
  }
  html.installed-app .view-panel,html.installed-app #map{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    min-height:0!important;margin:0!important;padding:0!important
  }
  html.installed-app .app-main>#answerBar{
    grid-row:4!important;align-self:end!important;width:100%!important;min-height:0!important;
    margin:0!important;padding-bottom:0!important
  }
  .map-zoom-indicator{display:none!important}
  .map-status-legend{left:8px!important;right:auto!important;bottom:10px!important;transform:none!important}
  .map-legend-content{left:0!important;right:auto!important;bottom:40px!important}
}

/* Le menu de catégories doit toujours passer au-dessus de Google Maps et rester défilable. */
.results-controls{position:relative!important;z-index:120!important;overflow:visible!important;isolation:isolate}
.app-main>.workspace{position:relative!important;z-index:1!important}
.category-menu-panel{
  position:absolute!important;z-index:150!important;top:48px!important;left:8px!important;right:8px!important;width:auto!important;margin:0!important;
  max-height:min(72dvh,calc(100dvh - var(--site-header-height,58px) - 68px))!important;overflow:hidden!important;overscroll-behavior:contain;
  box-shadow:0 18px 42px rgba(14,48,41,.28)!important
}
.category-menu-view{
  box-sizing:border-box;width:100%;max-height:min(72dvh,calc(100dvh - var(--site-header-height,58px) - 68px))!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable
}
.category-menu-heading{position:sticky;top:0;z-index:3;margin:-12px -12px 10px!important;padding:12px 12px 8px;background:linear-gradient(#fff 82%,rgba(255,255,255,.94))}
.category-menu-settings{margin-bottom:2px}

@media(min-width:700px){
  .category-menu-panel{top:54px!important;left:12px!important;right:auto!important;width:min(560px,calc(100vw - 24px))!important;max-height:min(68dvh,620px)!important}
  .category-menu-view{max-height:min(68dvh,620px)!important}
}
@media(max-width:699px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 42px 40px 40px!important;grid-template-rows:42px!important;gap:4px!important}
  .primary-search .search-button{width:42px!important;height:42px!important}
  .primary-search .time-menu-button,.create-alert-button{width:40px!important;height:40px!important;min-width:40px!important;border-radius:13px!important}
  .category-menu-panel{top:44px!important;left:6px!important;right:6px!important;max-height:calc(100dvh - var(--site-header-height,54px) - 58px)!important}
  .category-menu-view{max-height:calc(100dvh - var(--site-header-height,54px) - 58px)!important;padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}
}

/* La feuille « Mes alertes » reste entièrement dans le viewport PWA,
   y compris lorsque le clavier virtuel réduit la zone visible. */
@media(max-width:699px){
  html.installed-app .alert-dialog{
    top:var(--imap-viewport-top,0px)!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:var(--imap-viewport-height,100dvh)!important;
    min-height:0!important;
    max-height:none!important;
    padding:max(6px,env(safe-area-inset-top,0px)) 0 0!important;
    align-items:end!important;
    overflow:hidden!important;
  }
  html.installed-app .alert-dialog-card{
    width:100%!important;
    height:auto!important;
    max-height:calc(var(--imap-viewport-height,100dvh) - max(6px,env(safe-area-inset-top,0px)))!important;
    margin:0!important;
    padding:17px 17px max(17px,env(safe-area-inset-bottom,0px))!important;
    border-radius:18px 18px 0 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
  }
}
@media(max-width:600px){
  .alert-dialog{align-items:end;padding:0}.alert-dialog-card{width:100%!important;max-height:92vh;border-radius:18px 18px 0 0;padding:17px}
  .alert-list-item{grid-template-columns:1fr}.alert-list-actions{flex-direction:row;flex-wrap:wrap}.alert-list-actions button{flex:1}.alert-list{max-height:32vh}
}
@media(max-width:390px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 38px 38px!important}
  .primary-search .search-button{width:40px!important}.primary-search .time-menu-button,.create-alert-button{width:38px!important;min-width:38px!important}
}


/* v3.1.0 — critères actifs, pertinence visible et mobile plein écran */
.time-menu-label{display:none}
.active-criteria-bar{
  flex:0 0 auto;box-sizing:border-box;padding:7px 10px 8px;border-bottom:1px solid var(--line);
  background:#f7fbf9;position:relative;z-index:115
}
.active-criteria-bar[hidden]{display:none!important}
.active-criteria-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.active-criteria-head strong{font-size:.72rem;color:#3f5f57;text-transform:uppercase;letter-spacing:.035em}
.new-search-button{
  border:1px solid #bdd7cf;border-radius:999px;background:#fff;color:#11685a;padding:5px 9px;
  font-size:.69rem;font-weight:850;cursor:pointer;white-space:nowrap
}
.new-search-button:hover,.new-search-button:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:0}
.active-criteria-list{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 3px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.active-criterion-chip{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;max-width:min(78vw,330px);border:1px solid #acd1c6;
  border-radius:999px;background:#eef8f5;color:#155d50;padding:6px 9px;font-size:.72rem;font-weight:800;line-height:1.1;cursor:pointer
}
.active-criterion-chip span{font-size:1rem;line-height:.8;font-weight:900;color:#5d7d74}
.active-criterion-chip:hover,.active-criterion-chip:focus-visible{background:#e3f3ee;border-color:#6bb4a2;outline:0}
.match-proof,.popup-match-proof{margin-top:7px;color:#315f55;font-size:.72rem;line-height:1.4}
.match-proof{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.match-proof strong{font-size:.7rem;color:#274f46}
.match-proof>span{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef7f4;border:1px solid #d4e8e1;color:#315f55;font-weight:700}
.popup-match-proof{padding:7px 8px;border-radius:9px;background:#f1f8f6;border:1px solid #d7e9e4}
.popup-match-proof strong{display:block;margin-bottom:2px;color:#224f45;font-size:.7rem}
.popup-match-proof span{color:#42665e}

/* En mode application mobile, éviter le décalage sous la status-bar et le vide en bas. */
@media(max-width:699px){
  html,body{height:100%;min-height:100%;margin:0!important;padding:0!important;overflow:hidden}
  .mobile-app{height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important}
  .active-criteria-bar{padding-left:8px;padding-right:8px}
  .active-criteria-head{margin-bottom:5px}
  .active-criteria-list{scrollbar-width:none}
  .active-criteria-list::-webkit-scrollbar{display:none}
}
@supports not (height:100dvh){
  @media(max-width:699px){.mobile-app{height:100vh!important;max-height:100vh!important}}
}

/* v3.4.0 — assistant d'alertes récurrentes et carte PWA bord à bord. */
.welcome-alert-cta{margin-top:8px;border:1px solid rgba(255,255,255,.28);font:inherit;cursor:pointer}
.alert-schedule-options{margin:0;padding:10px;border:1px solid #cbdad5;border-radius:10px}
.alert-schedule-options legend{padding:0 5px;font-weight:800;color:#183e36}
.alert-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.alert-weekdays label{display:grid!important;place-items:center;gap:3px!important;padding:7px 2px;border:1px solid #d8e5e1;border-radius:8px;background:#f6faf8;font-size:.7rem;cursor:pointer}
.alert-weekdays input{margin:0;padding:0!important}
.alert-interval-control{display:flex;align-items:center;gap:7px;font-weight:500}
.alert-interval-control input{width:90px}
@media(max-width:520px){.alert-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}}

@media(max-width:699px){
  html.installed-app,
  html.installed-app body{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:var(--imap-viewport-height,100dvh)!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#dce7e4!important;
  }
  html.installed-app .mobile-app{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  html.installed-app .app-main,
  html.installed-app .workspace{min-height:0!important;margin:0!important;padding-bottom:0!important}
  html.installed-app .workspace{flex:1 1 0!important;height:0!important}
  html.installed-app .view-panel,
  html.installed-app #map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}
}

/* La période choisie reste visible : « Maintenant » ne disparaît plus derrière une icône. */
.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 50px 46px 76px!important}
.primary-search .time-menu-button{width:76px!important;min-width:76px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;padding:3px 4px!important}
.time-menu-label{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:850;line-height:1;color:currentColor}
.primary-search .time-menu-button .ui-icon{width:18px!important;height:18px!important}
@media(max-width:699px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 42px 40px 60px!important}
  .primary-search .time-menu-button{width:60px!important;min-width:60px!important;height:42px!important}
  .time-menu-label{font-size:.5rem}
}
@media(max-width:390px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 38px 56px!important}
  .primary-search .time-menu-button{width:56px!important;min-width:56px!important;height:40px!important}
  .time-menu-label{font-size:.48rem}
}


/* v3.2.0 — PWA mobile, critères cumulatifs et menu de filtres réellement ajoutable */
.time-menu-label{display:none!important}
.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 50px 46px 46px!important}
.primary-search .time-menu-button{width:46px!important;min-width:46px!important;height:42px!important;display:grid!important;place-items:center!important;padding:0!important}
.primary-search .time-menu-button .ui-icon{width:20px!important;height:20px!important}
.active-criteria-bar{display:flex;align-items:center;gap:7px;padding:7px 8px!important}
.active-criteria-bar[hidden]{display:none!important}
.active-criteria-list{flex:1 1 auto;min-width:0;order:1;padding:1px 0 2px!important}
.new-search-button{flex:0 0 auto;order:0}
.active-criteria-list{order:1}

/* v3.7.1 — les réponses suivent la carte et restent au bas de l'assistant. */
.app-main>#answerBar{order:4!important;flex:0 0 auto;width:100%;max-width:100%;min-width:0}
html.installed-app .app-main{grid-template-rows:auto auto minmax(0,1fr) auto!important}
html.installed-app .app-main>#answerBar{grid-row:4!important;min-height:0!important}
.active-criterion-chip.primary{background:#eef8f5;border-color:#a8d1c5;color:#155d50}
.active-criterion-chip.secondary{background:#f6f6f1;border-color:#d9d5bd;color:#665d2d}
.category-menu-grid{align-items:stretch}
.category-menu-entry{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:5px;min-width:0}
.category-menu-entry .category-menu-item{width:100%;min-width:0}
.category-menu-add{margin-left:auto;font-size:1rem;font-weight:900;color:var(--accent)}
.category-menu-more{display:grid;place-items:center;width:38px;min-width:38px;border:1px solid #d5e4df;border-radius:11px;background:#f7fbf9;color:var(--accent);font-size:1.25rem;font-weight:900;cursor:pointer}
.category-menu-more:hover,.category-menu-more:focus-visible{background:var(--accent-soft);border-color:#9bc9bd;outline:0}

/* iPhone/PWA : la status-bar fait partie de la zone écran avec viewport-fit=cover.
   Seul l'en-tête absorbe le safe-area supérieur ; on ne crée aucun faux espace en bas. */
@media(max-width:699px){
  html,body{width:100%;height:100%;min-height:100%;margin:0!important;padding:0!important;background:var(--surface);overflow:hidden}
  .mobile-app{width:100%;height:100dvh!important;min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important}
  html.installed-app .mobile-app{height:var(--installed-app-height,100dvh)!important;max-height:var(--installed-app-height,100dvh)!important}
  html.installed-app .app-header{height:calc(52px + env(safe-area-inset-top,0px))!important;min-height:calc(52px + env(safe-area-inset-top,0px))!important;flex-basis:calc(52px + env(safe-area-inset-top,0px))!important;padding-top:env(safe-area-inset-top,0px)!important;box-sizing:border-box!important}
  html.installed-app .app-main{padding-bottom:0!important;margin-bottom:0!important}
  html.installed-app .workspace,html.installed-app .view-panel,html.installed-app #map{margin-bottom:0!important;padding-bottom:0!important}
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 42px 40px 40px!important}
  .primary-search .time-menu-button{width:40px!important;min-width:40px!important;height:42px!important}
  .category-menu-entry{grid-template-columns:minmax(0,1fr) 36px}
  .category-menu-more{width:36px;min-width:36px}
}
@media(max-width:390px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 38px 38px!important}
  .primary-search .time-menu-button{width:38px!important;min-width:38px!important;height:40px!important}
}
/* Ajustements structurels du menu v3.2 */
.category-menu-entry .category-menu-item{grid-template-columns:38px minmax(0,1fr) auto!important}
.category-menu-entry .category-menu-add{display:block!important;width:auto!important;height:auto!important;margin-left:auto!important;border-radius:0!important;background:transparent!important;color:var(--accent)!important;font-size:1rem!important;line-height:1!important}
html.installed-app{--safe-bottom:0px}
@media(max-width:390px){.category-menu-entry .category-menu-item{grid-template-columns:33px minmax(0,1fr) auto!important}}


/* v3.2.1 — PWA : la coque occupe exactement le viewport, sans bande blanche basse. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{width:100%;height:100%;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;background:var(--surface)}
  html.installed-app .mobile-app{
    position:fixed!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html.installed-app .app-main{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:hidden!important}
  html.installed-app .workspace{flex:1 1 auto!important;min-height:0!important;height:auto!important;bottom:0!important;background:#dce7e4!important}
  html.installed-app .view-panel,html.installed-app #map{height:100%!important;min-height:0!important;bottom:0!important}
}


/* v3.2.2 — critères actifs directement au-dessus des suggestions, défilement tactile horizontal */
.results-controls{min-width:0}
.results-controls .active-criteria-bar{
  order:2!important;
  width:100%;
  max-width:100%;
  min-width:0;
  flex:0 0 auto;
  overflow:hidden;
}
.results-controls .suggestion-bar{order:3!important}
.active-criteria-list{
  min-width:0;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none!important;
  cursor:grab;
}
.active-criteria-list:active{cursor:grabbing}
.active-criteria-list::-webkit-scrollbar{display:none!important}
.active-criterion-chip{scroll-snap-align:start}
@media(max-width:699px){
  .results-controls .active-criteria-bar{padding:6px 7px!important;gap:6px}
  .active-criteria-list{padding-right:18px!important}
  .new-search-button{position:relative;z-index:2}
}


/* v3.2.5 — PWA iOS bord-à-bord : aucun fond blanc sous Google Maps. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{
    background:#dce7e4!important;
    min-height:100%!important;
    height:100%!important;
  }
  html.installed-app body{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    overflow:hidden!important;
  }
  html.installed-app .mobile-app{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  html.installed-app .app-main,
  html.installed-app .workspace,
  html.installed-app .view-panel,
  html.installed-app #map{
    min-height:0!important;
    margin:0!important;
  }
  html.installed-app .workspace,
  html.installed-app #map{
    background:#dce7e4!important;
  }
}


/* v3.2.6 — ordre fixe des actions : GO → Horloge → Alerte. */
.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 50px 46px 46px!important;grid-template-areas:"question search time alert"!important}
.primary-search .time-menu-wrap{grid-area:time!important}
.create-alert-button{grid-area:alert!important}
@media(max-width:699px){.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 42px 40px 40px!important}}
@media(max-width:390px){.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 38px 38px!important}}


/* v3.2.7 — retour à la coque PWA stable de la branche 2.x.
   On supprime les position:fixed/absolute ajoutés dans les 3.2.x : sur iOS
   standalone ils pouvaient laisser apparaître le fond du document sous la carte. */
@media(max-width:699px){
  html.installed-app,
  html.installed-app body{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#dce7e4!important;
  }
  html.installed-app .mobile-app{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--surface)!important;
  }
  html.installed-app .app-header{
    flex:0 0 calc(52px + env(safe-area-inset-top,0px))!important;
    height:calc(52px + env(safe-area-inset-top,0px))!important;
    min-height:calc(52px + env(safe-area-inset-top,0px))!important;
    padding-top:env(safe-area-inset-top,0px)!important;
    box-sizing:border-box!important;
  }
  html.installed-app .app-main{
    position:relative!important;
    flex:1 1 0!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html.installed-app .workspace{
    position:relative!important;
    flex:1 1 0!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    background:#dce7e4!important;
  }
  html.installed-app .view-panel,
  html.installed-app #map{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
}
@supports not (height:100dvh){
  @media(max-width:699px){
    html.installed-app,html.installed-app body,html.installed-app .mobile-app{height:100vh!important;min-height:100vh!important;max-height:100vh!important}
  }
}

/* v3.4.0 final : la mesure visualViewport prime sur tous les anciens correctifs PWA. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{position:fixed!important;inset:0!important;height:var(--imap-viewport-height,100dvh)!important;min-height:0!important;max-height:none!important;overflow:hidden!important;background:#dce7e4!important}
  html.installed-app .mobile-app{position:absolute!important;inset:0!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important}
  html.installed-app .app-main{flex:1 1 0!important;height:0!important;min-height:0!important;overflow:hidden!important}
  html.installed-app .workspace{flex:1 1 0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;background:#dce7e4!important}
  html.installed-app .view-panel,html.installed-app #map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}
}

/* v3.4.4 final — grille PWA bord à bord et actions strictement alignées. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{
    position:fixed!important;inset:0!important;width:100%!important;
    height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;
    margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important
  }
  html.installed-app .mobile-app{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
    min-height:0!important;max-height:none!important;margin:0!important;overflow:hidden!important
  }
  html.installed-app .app-main{
    display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;
    min-height:0!important;height:auto!important;overflow:hidden!important
  }
  html.installed-app .primary-search{grid-row:1!important}
  html.installed-app .results-controls{grid-row:2!important;min-height:0!important}
  html.installed-app .workspace{
    grid-row:3!important;position:relative!important;display:block!important;
    width:100%!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;background:#dce7e4!important;overflow:hidden!important
  }
  html.installed-app .view-panel,html.installed-app #map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}

  .primary-search .assistant-grid{
    grid-template-columns:minmax(0,1fr) 42px 42px 42px!important;
    grid-template-rows:42px!important;align-items:stretch!important;gap:4px!important
  }
  .primary-search .search-button,
  .primary-search .time-menu-wrap,
  .primary-search .time-menu-button,
  .primary-search .create-alert-button{
    box-sizing:border-box!important;width:42px!important;min-width:42px!important;max-width:42px!important;
    height:42px!important;min-height:42px!important;max-height:42px!important;
    margin:0!important;padding:0!important;align-self:stretch!important;border-radius:13px!important
  }
  .primary-search .search-button,.primary-search .time-menu-button,.primary-search .create-alert-button{
    display:grid!important;place-items:center!important;line-height:1!important
  }
  .primary-search .time-menu-button .ui-icon{width:20px!important;height:20px!important}
  .primary-search .create-alert-button>span:first-child{display:grid;place-items:center;width:20px;height:20px;font-size:18px;line-height:1}
}
@media(max-width:390px){
  .primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 40px 40px!important;grid-template-rows:40px!important}
  .primary-search .search-button,.primary-search .time-menu-wrap,.primary-search .time-menu-button,.primary-search .create-alert-button{
    width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important
  }
}

/* v3.4.5 : couche finale des menus, après tous les styles historiques. */
.primary-search{position:relative!important;z-index:5000!important;overflow:visible!important;isolation:isolate!important}
.primary-search .assistant-grid,.primary-search .time-menu-wrap{overflow:visible!important}
.primary-search .time-menu{z-index:5200!important}
.results-controls{position:relative!important;z-index:4000!important;overflow:visible!important;isolation:isolate!important}
.results-overlay{position:relative!important;z-index:2!important;overflow:visible!important}
.category-menu-panel{z-index:4900!important;overflow:visible!important}
.category-menu-panel .category-menu-view{overflow-y:auto!important}
.result-filter-menu{position:relative!important;z-index:5000!important}
.result-filter-menu .result-filters{z-index:5100!important}
.results-controls .active-criteria-bar,.results-controls .suggestion-bar{position:relative!important;z-index:1!important}
.app-main>.workspace{z-index:1!important}

/* v3.8.7 final : cette couche doit rester après tous les anciens correctifs. */
.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 42px 42px 42px!important;grid-template-areas:"question search time alert"!important}
.primary-search .search-button,.primary-search .time-menu-wrap,.primary-search .time-menu-button,.primary-search .create-alert-button{box-sizing:border-box!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0!important;border:1px solid #b9d0c9!important;border-radius:13px!important;background:#f3f8f6!important;color:#66716d!important;box-shadow:none!important}
.primary-search .search-button,.primary-search .time-menu-button,.primary-search .create-alert-button{display:grid!important;place-items:center!important;line-height:1!important}
.primary-search .search-button{font-size:.72rem!important;font-weight:900!important}.primary-search .time-menu-button .ui-icon,.primary-search .create-alert-button .ui-icon{width:20px!important;height:20px!important}
@media(max-width:390px){.primary-search .assistant-grid{grid-template-columns:minmax(0,1fr) 40px 40px 40px!important}.primary-search .search-button,.primary-search .time-menu-wrap,.primary-search .time-menu-button,.primary-search .create-alert-button{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}}

/* v3.8.8 priorité absolue : hauteur PWA réelle, suggestions incluses et légende mobile. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{position:fixed!important;inset:0!important;width:100%!important;height:var(--imap-viewport-height,100dvh)!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important}
  html.installed-app .mobile-app{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:0!important;max-height:none!important;margin:0!important;overflow:hidden!important}
  html.installed-app .app-main{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;min-height:0!important;height:auto!important;overflow:hidden!important}
  html.installed-app .primary-search{grid-row:1!important}
  html.installed-app .results-controls{grid-row:2!important;min-height:0!important}
  html.installed-app .workspace{grid-row:3!important;position:relative!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#dce7e4!important;overflow:hidden!important}
  html.installed-app .app-main>.answer-bar{grid-row:4!important;min-height:0!important;margin:0!important}
  html.installed-app .view-panel,html.installed-app #map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}
  .map-zoom-indicator{display:none!important}
  .map-status-legend{left:8px!important;right:auto!important;bottom:10px!important;transform:none!important}
  .map-status-legend .map-legend-content{left:0!important;right:auto!important;bottom:calc(100% + 7px)!important}
}

/* v3.9.0 ULTIME — interface compacte, après toutes les couches historiques. */
.primary-search{padding:7px 8px!important}.primary-search .question-field{min-width:0!important}.primary-search .question-field input{padding-left:12px!important}
.results-controls{display:flex!important;flex-direction:column!important;background:#fff!important}
.active-criteria-bar{order:1;display:flex;align-items:center;gap:6px;min-width:0;padding:0 8px 7px!important;border:0!important;background:#fff!important}.active-criteria-bar[hidden]{display:none!important}.active-criteria-list{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.active-criteria-list::-webkit-scrollbar{display:none}
.reset-search-button{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #c8dad5;border-radius:10px;background:#fff;color:#315f55;font-size:1.2rem;font-weight:900;cursor:pointer}
.view-toolbar{order:2!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;min-height:44px!important;padding:6px 8px!important;border-top:1px solid #d9e5e1!important;border-bottom:1px solid #d9e5e1!important;background:#f4f8f6!important}
.view-toolbar .results-summary,.view-toolbar .map-locate-button,.view-toolbar .view-switch button{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 9px!important;border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important;box-shadow:none!important;transform:none!important}
.view-toolbar .results-summary{width:auto!important;max-width:none!important}.view-toolbar .toolbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important}.view-toolbar .map-locate-button{width:auto!important;min-width:34px!important}.view-toolbar .map-locate-button .locate-symbol img{width:20px!important;height:20px!important}.view-toolbar .view-switch{display:flex!important;gap:4px!important;padding:0!important;border:0!important;background:transparent!important}.view-toolbar .view-switch button{width:auto!important;min-width:34px!important}.view-toolbar .view-switch button.active{border-color:#11685a!important;background:#11685a!important;color:#fff!important}.toolbar-button-label{font-size:.74rem;font-weight:850;white-space:nowrap}
@media(max-width:699px){.primary-search{padding:5px 6px!important}.active-criteria-bar{padding:0 6px 5px!important}.view-toolbar{min-height:40px!important;padding:4px 6px!important;gap:4px!important}.view-toolbar .results-summary,.view-toolbar .map-locate-button,.view-toolbar .view-switch button{height:32px!important;min-height:32px!important;padding:0 7px!important}.view-toolbar .map-locate-button{width:32px!important;padding:0!important}.view-toolbar .map-locate-button .toolbar-button-label,.view-toolbar .view-switch .toolbar-button-label{display:none!important}.view-toolbar .results-summary .toolbar-button-label{font-size:.71rem}.reset-search-button{flex-basis:32px;width:32px;height:32px}}

/* v3.9.1 — carte vivante en arrière-plan de l’accueil. */
.welcome-map-animation{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none;opacity:.72}
.welcome-map-lines{position:absolute;inset:-5%;width:110%;height:110%;fill:none;stroke:rgba(220,255,241,.13);stroke-width:3;stroke-linecap:round}
.welcome-map-lines .welcome-route{stroke:rgba(174,255,211,.46);stroke-width:4;stroke-dasharray:10 18;animation:welcomeRoute 18s linear infinite}
.welcome-radar{position:absolute;left:50%;top:43%;width:clamp(210px,34vw,430px);height:clamp(210px,34vw,430px);transform:translate(-50%,-50%);border-radius:50%}
.welcome-radar i{position:absolute;inset:50%;border:1px solid rgba(195,255,225,.34);border-radius:50%;animation:welcomeRadar 4.8s ease-out infinite}
.welcome-radar i:nth-child(2){animation-delay:1.6s}.welcome-radar i:nth-child(3){animation-delay:3.2s}
.welcome-radar b{position:absolute;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.92);border-radius:50%;background:#86efac;box-shadow:0 0 0 8px rgba(134,239,172,.15),0 0 28px rgba(134,239,172,.7)}
.welcome-map-point{position:absolute;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(6,66,53,.34);color:#d9ffeb;box-shadow:0 10px 28px rgba(0,35,28,.16);backdrop-filter:blur(7px);font-size:.8rem;animation:welcomePoint 5.4s ease-in-out infinite}
.welcome-map-point small{font-size:.67rem;font-weight:800;white-space:nowrap}.point-food{left:9%;top:25%;animation-delay:-.8s}.point-event{right:10%;top:20%;animation-delay:-2.1s}.point-health{left:12%;bottom:24%;animation-delay:-3.4s}.point-route{right:8%;bottom:27%;animation-delay:-4.5s}
@keyframes welcomeRoute{to{stroke-dashoffset:-280}}
@keyframes welcomeRadar{0%{inset:50%;opacity:.8}85%,100%{inset:0;opacity:0}}
@keyframes welcomePoint{0%,100%{transform:translateY(0);opacity:.55}45%,60%{transform:translateY(-9px);opacity:1}}
@media(max-width:700px){.welcome-map-animation{opacity:.58}.welcome-radar{top:32%;width:250px;height:250px}.welcome-map-point{padding:6px 8px}.welcome-map-point small{display:none}.point-food{left:4%;top:18%}.point-event{right:4%;top:16%}.point-health{left:5%;bottom:19%}.point-route{right:4%;bottom:21%}}
@media(prefers-reduced-motion:reduce){.welcome-map-lines .welcome-route,.welcome-radar i,.welcome-map-point{animation:none!important}.welcome-map-point{opacity:.65}}

/* v3.9.2 — outils dans le ruban et modes superposés à la carte. */
.active-criteria-bar{min-height:42px!important;padding:4px 8px!important;border-top:1px solid #d9e5e1!important;border-bottom:1px solid #d9e5e1!important;background:#f4f8f6!important}
.active-criteria-bar .criteria-tool-button{position:relative!important;inset:auto!important;flex:0 0 34px!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important;box-shadow:none!important;transform:none!important;cursor:pointer}
.active-criteria-bar .criteria-tool-button:hover,.active-criteria-bar .criteria-tool-button:focus-visible{border-color:#11685a!important;background:#e9f6f1!important;outline:0}
.active-criteria-bar .criteria-tool-button .ui-icon{width:19px!important;height:19px!important}.active-criteria-bar .map-locate-button .locate-symbol img{display:block;width:21px!important;height:21px!important}
.active-criteria-bar .criteria-label{font-size:.75rem!important}.active-criteria-bar .reset-search-button[hidden]{display:none!important}
.view-toolbar{display:none!important}.view-toolbar:has(.result-filter-menu:not([hidden])){display:flex!important;min-height:38px!important;padding:3px 8px!important;border-top:0!important}
.workspace>.map-view-overlay{position:absolute!important;z-index:30!important;top:10px!important;right:10px!important;display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.workspace>.map-view-overlay button{display:grid!important;place-items:center!important;box-sizing:border-box!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border:1px solid rgba(176,198,191,.95)!important;border-radius:11px!important;background:rgba(255,255,255,.96)!important;color:#315f55!important;box-shadow:0 3px 12px rgba(0,45,36,.16)!important;cursor:pointer}
.workspace>.map-view-overlay button svg{display:block!important;width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.workspace>.map-view-overlay button.active{border-color:#11685a!important;background:#11685a!important;color:#fff!important}
@media(max-width:699px){.active-criteria-bar{min-height:40px!important;padding:3px 6px!important;gap:5px!important}.active-criteria-bar .criteria-tool-button{flex-basis:32px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}.workspace>.map-view-overlay{top:8px!important;right:8px!important;gap:5px!important}.workspace>.map-view-overlay button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:10px!important}}

/* v3.9.3 — ville lumineuse et points IMAP animés en perspective. */
.welcome-screen{background:#11685a!important}
.welcome-map-animation{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none;opacity:1;background-image:linear-gradient(145deg,rgba(9,91,72,.62),rgba(17,104,90,.43) 48%,rgba(6,73,60,.58)),url('../images/welcome-city-bright-v2.webp');background-size:cover;background-position:center center;transform:scale(1.015);animation:welcomeCityDrift 22s ease-in-out infinite alternate}
.welcome-map-animation::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,rgba(7,79,63,.1),rgba(5,67,54,.48) 86%)}
.city-perspective-point{--point-scale:1;position:absolute;z-index:2;display:flex;align-items:center;gap:7px;transform-origin:50% 100%;animation:cityPointFloat 4.6s ease-in-out infinite;filter:drop-shadow(0 8px 9px rgba(0,52,40,.2))}
.city-perspective-point i{position:relative;display:block;width:calc(18px * var(--point-scale));height:calc(18px * var(--point-scale));border:calc(3px * var(--point-scale)) solid rgba(255,255,255,.96);border-radius:50% 50% 50% 0;background:#25b76f;box-shadow:0 0 0 calc(6px * var(--point-scale)) rgba(69,220,139,.18),0 0 calc(22px * var(--point-scale)) rgba(94,255,169,.8);transform:rotate(-45deg)}
.city-perspective-point i::after{content:"";position:absolute;inset:28%;border-radius:50%;background:#fff}
.city-perspective-point small{padding:5px 9px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(8,90,71,.78);color:#fff;font-size:calc(.68rem * var(--point-scale));font-weight:850;white-space:nowrap;backdrop-filter:blur(8px)}
.city-point-1{--point-scale:.62;left:46%;top:54%;animation-delay:-.8s}.city-point-2{--point-scale:.78;left:64%;top:60%;animation-delay:-2.4s}.city-point-3{--point-scale:1.05;left:25%;top:68%;animation-delay:-3.5s}.city-point-4{--point-scale:1.18;right:12%;top:73%;animation-delay:-1.7s}.city-point-5{--point-scale:.42;left:55%;top:49%;animation-delay:-4.1s}.city-point-6{--point-scale:.52;left:37%;top:57%;animation-delay:-2.9s}.city-point-7{--point-scale:.9;right:31%;top:67%;animation-delay:-.2s}
@keyframes welcomeCityDrift{from{background-position:48% 50%;transform:scale(1.015)}to{background-position:52% 48%;transform:scale(1.045)}}
@keyframes cityPointFloat{0%,100%{translate:0 0;opacity:.76}50%{translate:0 -10px;opacity:1}}
@media(max-width:700px){.welcome-map-animation{background-position:center center;animation-duration:28s}.city-perspective-point small{display:none}.city-point-1{left:43%;top:48%}.city-point-2{left:69%;top:57%}.city-point-3{left:14%;top:70%}.city-point-4{right:7%;top:75%}.city-point-5{left:53%;top:43%}.city-point-6{left:29%;top:57%}.city-point-7{right:30%;top:66%}}
@media(prefers-reduced-motion:reduce){.welcome-map-animation,.city-perspective-point{animation:none!important}}

/* v3.9.3 ajustements — géolocalisation verte et filtre épuré. */
.active-criteria-bar #useMyLocation.criteria-tool-button{border-color:#11685a!important;background:#11685a!important}
.active-criteria-bar #useMyLocation.criteria-tool-button:hover,.active-criteria-bar #useMyLocation.criteria-tool-button:focus-visible{border-color:#0a574a!important;background:#0a574a!important}
.active-criteria-bar #useMyLocation .locate-symbol{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;overflow:hidden!important;border-radius:5px!important}
.active-criteria-bar #useMyLocation .locate-symbol img{width:24px!important;height:24px!important}
.active-criteria-bar #categoryMenuButton .ui-icon{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}

/* v3.9.4 — progression dans une rue commerçante et masque de lecture. */
.welcome-map-animation{background-image:linear-gradient(145deg,rgba(6,82,65,.64),rgba(17,104,90,.55) 48%,rgba(5,70,56,.67)),url('../images/welcome-shopping-street-v3.webp')!important;background-position:center center!important;animation:welcomeStreetAdvance 24s cubic-bezier(.35,.02,.3,1) infinite alternate!important}
.welcome-map-animation::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(4,57,46,.2),rgba(5,72,57,.48) 30%,rgba(5,72,57,.56) 50%,rgba(5,72,57,.48) 70%,rgba(4,57,46,.2)),radial-gradient(ellipse at 50% 46%,rgba(4,67,53,.64) 0%,rgba(5,74,59,.38) 42%,rgba(3,55,44,.15) 75%)}
.welcome-map-animation::after{z-index:1!important;background:linear-gradient(180deg,rgba(5,68,54,.28),rgba(4,62,50,.2) 45%,rgba(3,54,43,.48))!important}
.welcome-content{position:relative;z-index:2;text-shadow:0 2px 12px rgba(0,43,34,.42)}
.welcome-search,.welcome-suggestions,.welcome-community-cta{text-shadow:none}
.city-perspective-point{z-index:3!important;opacity:0;animation:cityPointReveal 16s ease-in-out infinite!important}
.city-point-5{animation-delay:0s!important}.city-point-1{animation-delay:1.7s!important}.city-point-6{animation-delay:3.4s!important}.city-point-2{animation-delay:5.1s!important}.city-point-7{animation-delay:6.8s!important}.city-point-3{animation-delay:8.5s!important}.city-point-4{animation-delay:10.2s!important}
@keyframes welcomeStreetAdvance{0%{transform:scale(1.02);background-position:50% 50%}100%{transform:scale(1.17);background-position:50% 54%}}
@keyframes cityPointReveal{0%,10%{opacity:0;translate:0 15px;scale:.72}18%,72%{opacity:1;translate:0 0;scale:1}84%,100%{opacity:0;translate:0 -8px;scale:1.08}}
@media(max-width:700px){.welcome-map-animation{background-position:center center!important;animation-duration:28s!important}.welcome-map-animation::before{background:linear-gradient(90deg,rgba(4,64,51,.42),rgba(5,76,61,.62) 50%,rgba(4,64,51,.42)),radial-gradient(ellipse at 50% 42%,rgba(3,61,48,.62),rgba(4,69,55,.3) 72%)}}
@media(prefers-reduced-motion:reduce){.welcome-map-animation,.city-perspective-point{animation:none!important}.city-perspective-point{opacity:.82!important;translate:0 0!important;scale:1!important}}

/* v3.9.5 — commandes cartographiques uniformes et ruban réellement mobile. */
.active-criteria-list{scroll-snap-type:none!important}
.workspace>.map-view-overlay button,.workspace>.map-view-overlay .map-locate-button{overflow:visible!important}
.workspace>.map-view-overlay .map-locate-button{position:relative!important;inset:auto!important;border-color:#11685a!important;background:#11685a!important;color:#fff!important;transform:none!important}
.workspace>.map-view-overlay .map-locate-button .locate-symbol{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;overflow:hidden!important;border-radius:6px!important}
.workspace>.map-view-overlay .map-locate-button .locate-symbol img{display:block!important;width:26px!important;height:26px!important}
.workspace>.map-view-overlay button svg{overflow:visible!important;width:22px!important;height:22px!important}
#listView .results-list{padding-top:66px!important}
@media(max-width:699px){#listView .results-list{padding-top:58px!important}}

/* v3.9.6 — rue plus claire, avancée rapide et points sur les commerces latéraux. */
.welcome-map-animation{background-image:linear-gradient(145deg,rgba(6,82,65,.38),rgba(17,104,90,.28) 48%,rgba(5,70,56,.4)),url('../images/welcome-shopping-street-v3.webp')!important;animation:welcomeStreetAdvance 10s cubic-bezier(.35,.02,.3,1) infinite alternate!important}
.welcome-map-animation::before{background:linear-gradient(90deg,rgba(4,57,46,.18),rgba(5,72,57,.27) 32%,rgba(5,72,57,.34) 50%,rgba(5,72,57,.27) 68%,rgba(4,57,46,.18)),radial-gradient(ellipse at 50% 44%,rgba(4,67,53,.34) 0%,rgba(5,74,59,.2) 48%,rgba(3,55,44,.08) 78%)!important}
.welcome-map-animation::after{background:linear-gradient(180deg,rgba(5,68,54,.13),rgba(4,62,50,.08) 45%,rgba(3,54,43,.28))!important}
.welcome-content{text-shadow:0 2px 7px rgba(0,37,29,.75),0 0 20px rgba(4,68,54,.42)}
.city-point-5{--point-scale:.42;left:28%!important;right:auto!important;top:47%!important}.city-point-1{--point-scale:.62;left:auto!important;right:29%!important;top:51%!important}.city-point-6{--point-scale:.52;left:20%!important;right:auto!important;top:56%!important}.city-point-2{--point-scale:.78;left:auto!important;right:18%!important;top:60%!important}.city-point-7{--point-scale:.9;left:10%!important;right:auto!important;top:66%!important}.city-point-3{--point-scale:1.05;left:auto!important;right:9%!important;top:69%!important}.city-point-4{--point-scale:1.18;left:5%!important;right:auto!important;top:74%!important}
@media(max-width:700px){.welcome-map-animation{animation-duration:12s!important}.welcome-map-animation::before{background:linear-gradient(90deg,rgba(4,64,51,.24),rgba(5,76,61,.36) 50%,rgba(4,64,51,.24)),radial-gradient(ellipse at 50% 42%,rgba(3,61,48,.31),rgba(4,69,55,.13) 72%)!important}.city-point-5{left:21%!important;top:45%!important}.city-point-1{right:22%!important;top:50%!important}.city-point-6{left:12%!important;top:56%!important}.city-point-2{right:11%!important;top:59%!important}.city-point-7{left:5%!important;top:65%!important}.city-point-3{right:5%!important;top:68%!important}.city-point-4{left:3%!important;top:73%!important}}

/* v3.9.7 — viewport PWA unique pour l’accueil et toute l’application. */
@media(max-width:699px){
  html.installed-app{position:fixed!important;inset:0!important;width:100%!important;height:var(--imap-viewport-height,100dvh)!important;min-height:0!important;max-height:var(--imap-viewport-height,100dvh)!important;margin:0!important;padding:0!important;overflow:hidden!important;overscroll-behavior:none!important;box-sizing:border-box!important}
  html.installed-app body{position:fixed!important;top:var(--imap-viewport-top,0px)!important;right:0!important;bottom:auto!important;left:0!important;width:100%!important;height:var(--imap-viewport-height,100dvh)!important;min-height:0!important;max-height:var(--imap-viewport-height,100dvh)!important;margin:0!important;padding:0!important;overflow:hidden!important;overscroll-behavior:none!important;box-sizing:border-box!important}
  html.installed-app .mobile-app{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important}
  html.installed-app .welcome-screen{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:none!important;padding-top:max(70px,calc(env(safe-area-inset-top,0px) + 60px))!important;padding-right:18px!important;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))!important;padding-left:18px!important;background-color:#11685a!important}
}

/* v3.9.8 ULTIME — aucune couche historique ne doit rétablir une hauteur partielle. */
@media(max-width:699px){
  html.installed-app{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important}
  html.installed-app body{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important}
  html.installed-app .mobile-app,html.installed-app .welcome-screen{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;box-sizing:border-box!important}
  html.installed-app.welcome-pending,html.installed-app.welcome-pending body{background:#11685a!important}
}
.welcome-map-animation{animation:welcomeStreetAdvanceDeep 5s cubic-bezier(.32,.02,.28,1) infinite alternate!important;will-change:transform,background-position}
@keyframes welcomeStreetAdvanceDeep{0%{transform:scale(1.01);background-position:50% 50%}100%{transform:scale(1.52);background-position:50% 68%}}
@media(max-width:700px){.welcome-map-animation{animation-duration:6s!important}}
@media(prefers-reduced-motion:reduce){.welcome-map-animation{animation:none!important;transform:scale(1.08)!important}}

/* v3.9.10 PRIORITÉ ABSOLUE — grand viewport et parallaxe continu. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{position:fixed!important;top:0!important;right:0!important;bottom:auto!important;left:0!important;width:100%!important;height:100lvh!important;min-height:100lvh!important;max-height:100lvh!important;margin:0!important;padding:0!important;overflow:hidden!important}
  html.installed-app .mobile-app,html.installed-app .welcome-screen{position:absolute!important;top:0!important;right:0!important;bottom:auto!important;left:0!important;width:100%!important;height:100lvh!important;min-height:100lvh!important;max-height:100lvh!important;margin:0!important;overflow:hidden!important;box-sizing:border-box!important}
  html.installed-app .mobile-app{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}
  html.installed-app .app-main{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}
  html.installed-app .workspace{grid-row:3!important;height:auto!important;min-height:0!important;align-self:stretch!important}
  html.installed-app .welcome-screen{overflow-y:auto!important}
  html.installed-app.welcome-pending{background-image:linear-gradient(rgba(17,104,90,.3),rgba(17,104,90,.3)),url('../images/welcome-shopping-street-v3.webp')!important;background-size:cover!important;background-position:center bottom!important}
}
.welcome-map-animation{background:#11685a!important;transform:none!important;animation:none!important;will-change:auto!important}
.welcome-city-layer{animation:welcomeCityForwardLayer 12s linear infinite!important}
.welcome-city-layer-b{animation-delay:-6s!important}
.city-perspective-point{animation:cityPointParallax 9s cubic-bezier(.2,.05,.25,1) infinite!important}
@media(max-width:700px){.welcome-city-layer{animation-duration:10s!important}.welcome-city-layer-b{animation-delay:-5s!important}.city-perspective-point{animation-duration:8s!important}}
@media(prefers-reduced-motion:reduce){.welcome-city-layer{animation:none!important;opacity:1!important;transform:scale(1.06)!important}.welcome-city-layer-b{display:none!important}.city-perspective-point{animation:none!important;opacity:.82!important;transform:none!important}}

/* v3.9.11 PRIORITÉ ABSOLUE — commandes côte à côte, liste dégagée, ruban mobile. */
.workspace>.map-view-overlay{position:absolute!important;z-index:80!important;top:10px!important;right:10px!important;bottom:auto!important;left:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;width:auto!important;min-width:132px!important;max-width:calc(100% - 20px)!important;height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;background:transparent!important;transform:none!important}
.workspace>.map-view-overlay>button{position:relative!important;inset:auto!important;flex:0 0 40px!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important;padding:0!important;overflow:visible!important;border-radius:11px!important;transform:none!important}
.workspace>.map-view-overlay>button svg{display:block!important;width:21px!important;height:21px!important;overflow:visible!important;stroke-width:1.9!important}.workspace>.map-view-overlay>#listViewButton svg{width:22px!important;height:22px!important}
#listView.active{padding:0!important;overflow:hidden!important}#listView .results-list{box-sizing:border-box!important;padding-top:68px!important}
.active-criteria-list{display:flex!important;flex:1 1 0!important;width:0!important;min-width:0!important;max-width:none!important;gap:6px!important;overflow-x:scroll!important;overflow-y:hidden!important;scroll-behavior:auto!important;scroll-snap-type:none!important;white-space:nowrap!important}.active-criterion-chip{flex:0 0 auto!important}
@media(max-width:699px){.workspace>.map-view-overlay{top:8px!important;right:8px!important;gap:5px!important;min-width:124px!important;max-width:calc(100% - 16px)!important;height:38px!important;min-height:38px!important;max-height:38px!important}.workspace>.map-view-overlay>button{flex-basis:38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}.workspace>.map-view-overlay>button svg{width:20px!important;height:20px!important}#listView .results-list{padding-top:62px!important}}

/* v3.9.12 — racine plein écran, contenu limité au viewport réellement visible. */
.welcome-map-animation{background-image:linear-gradient(145deg,rgba(6,82,65,.34),rgba(17,104,90,.24) 48%,rgba(5,70,56,.36)),url('../images/welcome-shopping-street-v3.webp')!important;background-size:cover!important;background-position:center center!important;background-color:#11685a!important}
@media(max-width:699px){
  html.installed-app,html.installed-app body{height:100lvh!important;min-height:100lvh!important;max-height:100lvh!important;background:#dce7e4!important}
  html.installed-app .mobile-app,html.installed-app .welcome-screen{top:0!important;bottom:auto!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}
  html.installed-app .app-main{height:100%!important;min-height:0!important}
  html.installed-app .app-main>#answerBar{grid-row:4!important;position:relative!important;z-index:40!important;align-self:end!important;width:100%!important;margin:0!important;padding-bottom:max(3px,env(safe-area-inset-bottom,0px))!important;background:#fff!important}
  html.installed-app.welcome-pending,html.installed-app.welcome-pending body{background-image:linear-gradient(rgba(17,104,90,.28),rgba(17,104,90,.28)),url('../images/welcome-shopping-street-v3.webp')!important;background-size:cover!important;background-position:center bottom!important;background-color:#11685a!important}
}
@supports not (height:100dvh){@media(max-width:699px){html.installed-app .mobile-app,html.installed-app .welcome-screen{height:100vh!important;min-height:100vh!important;max-height:100vh!important}}}

/* v3.9.13 — aucun second bloc de filtre entre le moteur et les critères. */
.results-controls>.view-toolbar.results-overlay{display:none!important}

/* v3.9.14 — compteur compact aligné avec Position / Carte / Liste. */
.workspace>.map-view-overlay .view-result-count{flex:1 1 auto;min-width:0;max-width:min(260px,calc(100vw - 170px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;border:1px solid rgba(176,198,191,.95);border-radius:10px;background:rgba(255,255,255,.96);color:#294e45;box-shadow:0 3px 12px rgba(0,45,36,.14);font-size:.76rem;font-weight:850;line-height:1}
.workspace>.map-view-overlay .view-result-count[hidden]{display:none!important}
@media(max-width:699px){.workspace>.map-view-overlay .view-result-count{max-width:calc(100vw - 150px);padding:7px 8px;font-size:.7rem}}

/* v3.9.15 — correction finale de structure PWA et visibilité de l’accueil animé. */
@media(max-width:699px){
  html.installed-app,html.installed-app body{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#dce7e4!important}
  html.installed-app .mobile-app{position:absolute!important;inset:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}
  html.installed-app .app-main{grid-row:2!important;align-self:stretch!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important}
  html.installed-app .primary-search{grid-row:1!important}
  html.installed-app .results-controls{grid-row:2!important;min-height:0!important}
  html.installed-app .workspace{grid-row:3!important;position:relative!important;z-index:1!important;align-self:stretch!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
  html.installed-app .app-main>#answerBar{grid-row:4!important;position:relative!important;z-index:200!important;align-self:end!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:46px!important;max-height:none!important;margin:0!important;padding-bottom:max(3px,env(safe-area-inset-bottom,0px))!important;overflow:hidden!important;background:#fff!important}
  html.installed-app .welcome-screen{position:absolute!important;inset:0!important;box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;overflow:hidden!important;overscroll-behavior:none!important}
}
.welcome-map-animation{z-index:0!important;display:block!important;opacity:1!important;visibility:visible!important}
.welcome-content{position:relative!important;z-index:5!important}.welcome-top-actions{z-index:8!important}.welcome-screen .install-offer{z-index:9!important}
.welcome-city-layer{display:block!important;visibility:visible!important;animation:welcomeCityForwardLayer 10s linear infinite!important}.welcome-city-layer-b{animation-delay:-5s!important}
.city-perspective-point{display:flex!important;visibility:visible!important;animation:cityPointParallax 8s cubic-bezier(.2,.05,.25,1) infinite!important}
@media(prefers-reduced-motion:reduce){.welcome-city-layer{display:block!important;animation:welcomeCityForwardLayer 12s linear infinite!important}.welcome-city-layer-b{display:block!important;animation-delay:-6s!important}.city-perspective-point{animation:cityPointParallax 10s cubic-bezier(.2,.05,.25,1) infinite!important}}
@supports not (height:100dvh){@media(max-width:699px){html.installed-app,html.installed-app body{height:100vh!important;min-height:100vh!important;max-height:100vh!important}}}

/* ICI.AM — identité et promesse animée */
.welcome-identity .iciam-baseline b{color:#a7eea8;font-weight:950}
.welcome-rotating-tagline{display:flex;align-items:center;justify-content:center;gap:.32em;margin:clamp(10px,1.8vh,18px) 0 0;color:#fff;font-size:clamp(1.02rem,2.4vw,1.35rem);font-weight:800;line-height:1.2;white-space:nowrap}.welcome-identity{margin-bottom:0}.welcome-identity strong{display:block}
.welcome-tagline-fixed{position:relative;z-index:1}
.welcome-tagline-rotator{position:relative;display:inline-block;height:1.45em;overflow:hidden;text-align:center;min-width:0}
.welcome-tagline-word{display:block;will-change:transform,opacity;transform:translateY(0);opacity:1;transition:transform .26s ease,opacity .26s ease}
.welcome-tagline-word.is-leaving{transform:translateY(-115%);opacity:0}
.welcome-tagline-word.is-entering{transform:translateY(115%);opacity:0;transition:none}
.site-brand-copy small b{color:#11685a;font-weight:900}
@media(max-width:520px){.welcome-rotating-tagline{gap:.24em;font-size:clamp(.9rem,4.2vw,1.04rem)}.welcome-tagline-rotator{height:1.5em}}
@media(prefers-reduced-motion:reduce){.welcome-tagline-word{transition:none!important}}

/* ICI.AM — baseline animée dans le header principal */
.app-brand-animated-tagline{display:flex!important;align-items:center;gap:.2em;white-space:nowrap;overflow:visible!important;text-overflow:clip!important;max-width:none!important}
.app-brand-rotator{display:inline-block;transition:transform .22s ease,opacity .22s ease}
.app-brand-rotator.is-leaving{transform:translateY(-110%);opacity:0}
.app-brand-rotator.is-entering{transform:translateY(110%);opacity:0;transition:none}
@media(prefers-reduced-motion:reduce){.app-brand-rotator{transition:none!important}}

/* ICI.AM 3.14.13 — baseline stable : aucun déplacement horizontal */
.welcome-rotating-tagline{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:.16em!important;white-space:normal!important}
.welcome-tagline-main{display:block;font-weight:900;letter-spacing:-.015em;line-height:1.05}
.welcome-tagline-rotator{display:block!important;height:1.35em!important;min-width:0!important;overflow:hidden!important;text-align:center!important}
.welcome-tagline-word{white-space:nowrap}
.app-brand-animated-tagline{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;line-height:1.02!important;white-space:nowrap!important;overflow:visible!important}
.app-brand-tagline-main{display:block;font-weight:800}
.app-brand-rotator{display:block!important;height:1.08em;overflow:hidden;line-height:1.08}


/* ICI.AM 3.14.14 — baseline monoligne, phrase complète animée sans reflow */
.welcome-rotating-tagline{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;overflow:visible!important}
.welcome-tagline-rotator{display:block!important;position:relative!important;width:19.4em!important;max-width:94vw!important;height:1.4em!important;overflow:hidden!important;text-align:center!important}
.welcome-tagline-word{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;line-height:1.2!important}
.welcome-tagline-main{display:none!important}
.tagline-green{color:#a7eea8!important;font-weight:950!important}
.app-brand-animated-tagline{display:block!important;white-space:nowrap!important;line-height:1.08!important;overflow:hidden!important;width:19.4em!important;max-width:58vw!important}
.app-brand-rotator{position:relative!important;display:block!important;height:1.08em!important;line-height:1.08!important;white-space:nowrap!important;text-align:left!important;overflow:hidden!important}
@media(max-width:520px){.welcome-tagline-rotator{width:19em!important;max-width:96vw!important}.app-brand-animated-tagline{max-width:61vw!important}}


/* ICI.AM 3.14.15 — baseline plus lente, espaces naturels, vert d'origine */
.tagline-green{color:#19934b!important;font-weight:950!important}
.tagline-space{display:inline!important}
.welcome-tagline-word,.site-brand-rotator,.app-brand-rotator{word-spacing:.08em!important;letter-spacing:0!important}
.welcome-tagline-word{transition:transform .38s ease,opacity .38s ease!important}
.site-brand-rotator,.app-brand-rotator{transition:transform .38s ease,opacity .38s ease!important}
.site-brand-rotator .tagline-green,.app-brand-rotator .tagline-green{color:#19934b!important}


/* v3.14.16 — ville d'accueil : avancée lente, continue et boucle masquée.
   Trois couches identiques sont déphasées. Chaque couche revient au point de fuite
   uniquement lorsqu'elle est totalement transparente, ce qui rend le recyclage invisible. */
.welcome-map-animation{
  position:absolute!important;inset:0!important;overflow:hidden!important;pointer-events:none!important;
  background:#11685a!important;transform:none!important;animation:none!important;isolation:isolate!important;
}
.welcome-map-animation::before{
  content:"";position:absolute;z-index:0;inset:-3%;pointer-events:none;
  background-image:linear-gradient(145deg,rgba(6,82,65,.30),rgba(17,104,90,.18) 48%,rgba(5,70,56,.31)),url('../images/welcome-long-street-v4.webp');
  background-size:cover;background-position:50% 50%;
  transform-origin:50% 55%;will-change:transform,background-position;
  animation:imapCityFarDrift 96s ease-in-out infinite alternate;
}
.welcome-map-animation::after{
  content:"";position:absolute!important;z-index:4!important;inset:0!important;pointer-events:none!important;
  background:radial-gradient(ellipse at 50% 47%,rgba(255,255,255,.05) 0%,rgba(6,75,59,.08) 42%,rgba(3,55,44,.22) 100%),linear-gradient(180deg,rgba(4,60,47,.04),rgba(3,55,44,.15))!important;
}
@keyframes imapCityFarDrift{
  0%{transform:scale(1.015) translate3d(0,-.25%,0);background-position:50% 49%}
  100%{transform:scale(1.055) translate3d(0,.8%,0);background-position:50% 52%}
}
.welcome-city-layer{
  position:absolute!important;z-index:1!important;inset:-10%!important;display:block!important;visibility:visible!important;
  opacity:0;background-image:linear-gradient(145deg,rgba(6,82,65,.20),rgba(17,104,90,.10) 48%,rgba(5,70,56,.22)),url('../images/welcome-long-street-v4.webp')!important;
  background-size:cover!important;background-position:50% 48%!important;transform-origin:50% 56%!important;
  will-change:transform,opacity,background-position!important;pointer-events:none!important;
  animation:imapCityEndlessPass 66s linear infinite!important;
}
.welcome-city-layer-a{animation-delay:-4s!important}
.welcome-city-layer-b{display:block!important;animation-delay:-26s!important}
.welcome-city-layer-c{display:block!important;animation-delay:-48s!important}
@keyframes imapCityEndlessPass{
  0%{opacity:0;transform:translate3d(0,-.8%,0) scale(1.01);background-position:50% 47%}
  7%{opacity:.48}
  38%{opacity:.54}
  58%{opacity:.38;transform:translate3d(0,2.4%,0) scale(1.155);background-position:50% 55%}
  69%{opacity:0;transform:translate3d(0,4.8%,0) scale(1.235);background-position:50% 61%}
  100%{opacity:0;transform:translate3d(0,4.8%,0) scale(1.235);background-position:50% 61%}
}
.city-perspective-point{
  z-index:3!important;opacity:0!important;will-change:transform,opacity!important;
  animation:imapCityObjectRecycle 30s cubic-bezier(.22,.04,.24,1) infinite!important;
}
.city-point-5{animation-delay:-2s!important}.city-point-1{animation-delay:-6s!important}.city-point-6{animation-delay:-10s!important}.city-point-2{animation-delay:-14s!important}.city-point-7{animation-delay:-18s!important}.city-point-3{animation-delay:-22s!important}.city-point-4{animation-delay:-26s!important}
@keyframes imapCityObjectRecycle{
  0%,8%{opacity:0;transform:translate3d(0,-2vh,0) scale(.52)}
  18%{opacity:.72}
  65%{opacity:.7}
  86%,100%{opacity:0;transform:translate3d(var(--travel-x,0),var(--travel-y,18vh),0) scale(1.55)}
}
@media(max-width:700px){
  .welcome-map-animation::before,.welcome-city-layer{background-position:50% 50%!important}
  .welcome-city-layer{inset:-13%!important;animation-duration:74s!important}
  .welcome-city-layer-a{animation-delay:-5s!important}.welcome-city-layer-b{animation-delay:-30s!important}.welcome-city-layer-c{animation-delay:-55s!important}
  .city-perspective-point{animation-duration:34s!important}
}
@media(prefers-reduced-motion:reduce){
  .welcome-map-animation::before{animation:none!important;transform:scale(1.02)!important}
  .welcome-city-layer{animation:none!important;display:none!important}
  .welcome-city-layer-a{display:block!important;opacity:.28!important;transform:scale(1.035)!important}
  .city-perspective-point{animation:none!important;opacity:.42!important;transform:none!important}
}


/* v3.14.18 — fond d'accueil : une seule image, avancée profonde, sans dédoublement.
   Le mouvement est volontairement plus franc pour donner une vraie sensation d'avancer.
   Pas de boucle visible : l'image avance profondément puis se stabilise en fin de course. */
.welcome-map-animation{
  position:absolute!important;inset:0!important;overflow:hidden!important;pointer-events:none!important;
  background:#11685a!important;transform:none!important;animation:none!important;isolation:isolate!important;
}
.welcome-map-animation::before{display:none!important;content:none!important}
.welcome-map-animation::after{
  content:"";position:absolute!important;z-index:4!important;inset:0!important;pointer-events:none!important;
  background:radial-gradient(ellipse at 50% 44%,rgba(255,255,255,.03) 0%,rgba(8,86,68,.07) 42%,rgba(3,55,44,.18) 100%),
             linear-gradient(180deg,rgba(3,58,46,.06),rgba(3,55,44,.16))!important;
}
.welcome-city-layer{display:none!important}
.welcome-city-layer-a{
  position:absolute!important;z-index:1!important;inset:-10%!important;display:block!important;visibility:visible!important;opacity:.98!important;
  background-image:linear-gradient(145deg,rgba(6,82,65,.20),rgba(17,104,90,.10) 48%,rgba(5,70,56,.22)),url('../images/welcome-long-street-v4.webp')!important;
  background-size:cover!important;background-position:50% 48%!important;transform-origin:50% 56%!important;
  will-change:transform,background-position!important;pointer-events:none!important;
  animation:imapCityDeepPush 22s cubic-bezier(.18,.04,.22,1) 1 forwards!important;
}
.welcome-city-layer-b,.welcome-city-layer-c{display:none!important}
@keyframes imapCityDeepPush{
  0%{transform:translate3d(0,0,0) scale(1.02);background-position:50% 47%}
  30%{transform:translate3d(0,.8%,0) scale(1.16);background-position:50% 53%}
  68%{transform:translate3d(0,2.8%,0) scale(1.42);background-position:50% 63%}
  100%{transform:translate3d(0,5.5%,0) scale(1.72);background-position:50% 75%}
}
.city-perspective-point{
  z-index:3!important;opacity:0!important;will-change:transform,opacity!important;
  animation:imapSinglePassPoint 18s cubic-bezier(.2,.06,.24,1) 1 forwards!important;
}
.city-point-5{animation-delay:1.5s!important}.city-point-1{animation-delay:3.5s!important}.city-point-6{animation-delay:5.5s!important}.city-point-2{animation-delay:7.5s!important}.city-point-7{animation-delay:9.5s!important}.city-point-3{animation-delay:11.5s!important}.city-point-4{animation-delay:13.5s!important}
@keyframes imapSinglePassPoint{
  0%,10%{opacity:0;transform:translate3d(0,-2vh,0) scale(.55)}
  20%{opacity:.74}
  74%{opacity:.72}
  100%{opacity:0;transform:translate3d(var(--travel-x,0),var(--travel-y,20vh),0) scale(1.8)}
}
@media(max-width:700px){
  .welcome-city-layer-a{inset:-14%!important;animation-duration:18s!important;background-position:50% 50%!important}
  @keyframes imapCityDeepPush{
    0%{transform:translate3d(0,0,0) scale(1.03);background-position:50% 48%}
    35%{transform:translate3d(0,1.2%,0) scale(1.20);background-position:50% 55%}
    70%{transform:translate3d(0,3.6%,0) scale(1.48);background-position:50% 66%}
    100%{transform:translate3d(0,6.8%,0) scale(1.82);background-position:50% 79%}
  }
  .city-perspective-point{animation-duration:16s!important}
}
@media(prefers-reduced-motion:reduce){
  .welcome-city-layer-a{animation:none!important;transform:scale(1.08)!important;background-position:50% 54%!important}
  .city-perspective-point{animation:none!important;opacity:.35!important;transform:none!important}
}

/* v3.14.19 — après l'avancée, regard autour de soi sans dézoom ni dédoublement. */
.welcome-city-layer-a{
  animation:
    imapCityDeepPushFast 9s cubic-bezier(.18,.04,.22,1) 1 forwards,
    imapCityLookAround 20s ease-in-out 9s infinite alternate!important;
}
@keyframes imapCityDeepPushFast{
  0%{transform:translate3d(0,0,0) scale(1.03);background-position:50% 47%}
  28%{transform:translate3d(0,1.2%,0) scale(1.20);background-position:50% 54%}
  62%{transform:translate3d(0,3.4%,0) scale(1.48);background-position:50% 65%}
  100%{transform:translate3d(0,6.0%,0) scale(1.78);background-position:50% 76%}
}
@keyframes imapCityLookAround{
  0%{background-position:44% 73%}
  25%{background-position:56% 76%}
  50%{background-position:62% 79%}
  75%{background-position:48% 75%}
  100%{background-position:38% 78%}
}
@media(max-width:700px){
  .welcome-city-layer-a{
    animation:
      imapCityDeepPushFastMobile 7s cubic-bezier(.18,.04,.22,1) 1 forwards,
      imapCityLookAroundMobile 17s ease-in-out 7s infinite alternate!important;
  }
  @keyframes imapCityDeepPushFastMobile{
    0%{transform:translate3d(0,0,0) scale(1.04);background-position:50% 49%}
    30%{transform:translate3d(0,1.6%,0) scale(1.24);background-position:50% 56%}
    66%{transform:translate3d(0,4.2%,0) scale(1.56);background-position:50% 68%}
    100%{transform:translate3d(0,7.2%,0) scale(1.88);background-position:50% 80%}
  }
  @keyframes imapCityLookAroundMobile{
    0%{background-position:43% 77%}
    25%{background-position:56% 80%}
    50%{background-position:61% 83%}
    75%{background-position:47% 79%}
    100%{background-position:39% 82%}
  }
}
@media(prefers-reduced-motion:reduce){
  .welcome-city-layer-a{animation:none!important;transform:translate3d(0,2%,0) scale(1.18)!important;background-position:50% 58%!important}
}

/* v3.14.21 — caméra douce autour du point de fuite réel de la rue.
   Une seule image, aucun dédoublement. Cycle : zoom 1 -> regard -> zoom 2 -> regard inverse -> dézoom avec balayage.
   Point de fuite visuel : légèrement à droite et sous le centre. */
.welcome-city-layer-a{
  transform-origin:57% 61%!important;
  background-position:57% 59%!important;
  animation:imapCityCameraTour 82s cubic-bezier(.32,.02,.24,1) infinite!important;
}
@keyframes imapCityCameraTour{
  /* Départ : vue générale. */
  0%{
    transform:translate3d(0,0,0) scale(1.04);
    background-position:57% 58%;
  }
  /* Premier zoom, volontairement lent. */
  18%{
    transform:translate3d(-.4%,1.0%,0) scale(1.30);
    background-position:58% 62%;
  }
  /* On regarde doucement vers la gauche. */
  25%{
    transform:translate3d(3.2%,1.3%,0) scale(1.30);
    background-position:51% 61%;
  }
  /* Puis vers la droite, toujours au même niveau de zoom. */
  32%{
    transform:translate3d(-3.0%,1.8%,0) scale(1.30);
    background-position:64% 63%;
  }
  /* Retour vers le point de fuite avant le prochain pas en avant. */
  38%{
    transform:translate3d(-.6%,2.0%,0) scale(1.31);
    background-position:58% 64%;
  }
  /* Deuxième zoom, plus profond mais toujours progressif. */
  55%{
    transform:translate3d(-1.1%,4.5%,0) scale(1.66);
    background-position:59% 71%;
  }
  /* Cette fois on commence par regarder à droite. */
  62%{
    transform:translate3d(-4.1%,4.2%,0) scale(1.66);
    background-position:66% 70%;
  }
  /* Puis à gauche, avec un très léger déplacement vertical. */
  69%{
    transform:translate3d(3.6%,5.1%,0) scale(1.66);
    background-position:50% 73%;
  }
  /* Recentrage sur la perspective avant le retour. */
  74%{
    transform:translate3d(-1.0%,4.8%,0) scale(1.65);
    background-position:59% 72%;
  }
  /* Dézoom progressif en regardant une première fois à gauche. */
  82%{
    transform:translate3d(3.0%,3.2%,0) scale(1.48);
    background-position:52% 68%;
  }
  /* Puis à droite pendant que l'on continue de reculer. */
  90%{
    transform:translate3d(-2.7%,1.9%,0) scale(1.28);
    background-position:64% 64%;
  }
  /* Retour naturel à la vue générale et au même cadrage que 0%. */
  100%{
    transform:translate3d(0,0,0) scale(1.04);
    background-position:57% 58%;
  }
}
@media(max-width:700px){
  .welcome-city-layer-a{
    transform-origin:58% 62%!important;
    animation-duration:72s!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .welcome-city-layer-a{
    animation:none!important;
    transform:translate3d(0,1.5%,0) scale(1.12)!important;
    background-position:58% 61%!important;
  }
}

/* v3.14.25 — balayage caméra ample jusqu'aux façades gauche/droite.
   Point de fuite conservé légèrement en bas à droite (57% / 61%).
   Une seule image : zoom -> grand regard gauche/droite -> zoom profond -> regard inverse -> dézoom avec balayage. */
.welcome-city-layer-a{
  transform-origin:57% 61%!important;
  animation:imapCityCameraWideTour 90s cubic-bezier(.30,.03,.24,1) infinite!important;
}
@keyframes imapCityCameraWideTour{
  0%{
    transform:translate3d(0,0,0) scale(1.05);
    background-position:57% 58%;
  }
  /* Avancée 1 */
  16%{
    transform:translate3d(-1%,1.2%,0) scale(1.30);
    background-position:58% 62%;
  }
  /* Vrai regard vers la façade gauche */
  24%{
    transform:translate3d(11%,1.8%,0) scale(1.31);
    background-position:35% 61%;
  }
  /* Traversée complète vers la façade droite */
  32%{
    transform:translate3d(-11%,2.2%,0) scale(1.31);
    background-position:79% 64%;
  }
  /* Recentrage sur le point de fuite */
  39%{
    transform:translate3d(-1%,2.5%,0) scale(1.32);
    background-position:58% 64%;
  }
  /* Avancée 2 plus profonde */
  55%{
    transform:translate3d(-2%,5%,0) scale(1.68);
    background-position:59% 72%;
  }
  /* À fort zoom : regarder loin à droite */
  63%{
    transform:translate3d(-17%,4.2%,0) scale(1.69);
    background-position:88% 70%;
  }
  /* Puis loin à gauche */
  71%{
    transform:translate3d(17%,5.8%,0) scale(1.69);
    background-position:25% 75%;
  }
  76%{
    transform:translate3d(-1%,5.1%,0) scale(1.66);
    background-position:59% 73%;
  }
  /* Dézoom en continuant à regarder autour */
  83%{
    transform:translate3d(12%,3.7%,0) scale(1.50);
    background-position:34% 69%;
  }
  91%{
    transform:translate3d(-10%,2.0%,0) scale(1.28);
    background-position:78% 64%;
  }
  96%{
    transform:translate3d(5%,.9%,0) scale(1.13);
    background-position:46% 60%;
  }
  100%{
    transform:translate3d(0,0,0) scale(1.05);
    background-position:57% 58%;
  }
}
@media(max-width:700px){
  .welcome-city-layer-a{
    transform-origin:58% 62%!important;
    animation:imapCityCameraWideTourMobile 80s cubic-bezier(.30,.03,.24,1) infinite!important;
  }
  @keyframes imapCityCameraWideTourMobile{
    0%{transform:translate3d(0,0,0) scale(1.08);background-position:58% 59%}
    16%{transform:translate3d(-1%,1.4%,0) scale(1.34);background-position:59% 64%}
    24%{transform:translate3d(10%,2.0%,0) scale(1.35);background-position:34% 63%}
    32%{transform:translate3d(-10%,2.5%,0) scale(1.35);background-position:82% 66%}
    39%{transform:translate3d(-1%,2.8%,0) scale(1.36);background-position:59% 66%}
    55%{transform:translate3d(-2%,5.5%,0) scale(1.78);background-position:60% 75%}
    63%{transform:translate3d(-15%,4.8%,0) scale(1.80);background-position:90% 73%}
    71%{transform:translate3d(15%,6.3%,0) scale(1.80);background-position:22% 78%}
    76%{transform:translate3d(-1%,5.6%,0) scale(1.77);background-position:60% 76%}
    83%{transform:translate3d(10%,4.0%,0) scale(1.56);background-position:32% 71%}
    91%{transform:translate3d(-9%,2.3%,0) scale(1.34);background-position:82% 66%}
    96%{transform:translate3d(4%,1.0%,0) scale(1.17);background-position:45% 61%}
    100%{transform:translate3d(0,0,0) scale(1.08);background-position:58% 59%}
  }
}
@media(prefers-reduced-motion:reduce){
  .welcome-city-layer-a{animation:none!important;transform:translate3d(0,1.5%,0) scale(1.12)!important;background-position:58% 61%!important}
}

/* v3.14.28 — accueil ICI.AM : contraste + travelling continu profond.
   Une seule image. Pendant toute la phase d'avance, chaque balayage latéral/diagonal
   augmente aussi l'échelle : aucun palier de zoom. Point de fuite ~57% / 61%. */
.welcome-screen .welcome-identity strong{
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,40,31,.34)!important;
}
.welcome-screen .welcome-tagline-word .tagline-green{
  color:#a7eea8!important;
  text-shadow:0 1px 10px rgba(0,49,37,.38)!important;
}
/* Le header conserve son vert d'interface. */
.app-header .app-brand-rotator .tagline-green,
.site-header .site-brand-rotator .tagline-green{
  color:#19934b!important;
  text-shadow:none!important;
}

.welcome-city-layer-a{
  transform-origin:57% 61%!important;
  background-position:57% 59%!important;
  animation:imapCityContinuousTravel 108s cubic-bezier(.28,.03,.23,1) infinite!important;
}
@keyframes imapCityContinuousTravel{
  /* Départ large. */
  0%{transform:translate3d(0,0,0) scale(1.05);background-position:57% 58%}
  /* Avance + regard gauche. */
  8%{transform:translate3d(7%,1.2%,0) scale(1.20);background-position:45% 61%}
  /* Avance + traversée diagonale vers la droite. */
  16%{transform:translate3d(-8%,2.2%,0) scale(1.38);background-position:72% 64%}
  /* Toujours en avançant, retour vers la gauche, plus bas. */
  24%{transform:translate3d(10%,3.4%,0) scale(1.58);background-position:39% 67%}
  /* Droite haute, zoom encore plus profond. */
  32%{transform:translate3d(-12%,3.0%,0) scale(1.82);background-position:80% 65%}
  /* Diagonale gauche/bas. */
  40%{transform:translate3d(14%,5.0%,0) scale(2.08);background-position:31% 72%}
  /* Diagonale droite/bas. */
  48%{transform:translate3d(-15%,5.8%,0) scale(2.36);background-position:87% 75%}
  /* On dépasse nettement l'ancien troisième niveau. */
  56%{transform:translate3d(13%,7.2%,0) scale(2.64);background-position:28% 79%}
  64%{transform:translate3d(-13%,7.8%,0) scale(2.88);background-position:90% 81%}
  /* Zoom maximal, toujours en mouvement diagonal. */
  70%{transform:translate3d(5%,8.8%,0) scale(3.08);background-position:46% 84%}
  /* Retour progressif, sans palier, avec mouvement de regard. */
  76%{transform:translate3d(-11%,7.4%,0) scale(2.78);background-position:84% 79%}
  82%{transform:translate3d(12%,5.8%,0) scale(2.42);background-position:32% 74%}
  88%{transform:translate3d(-9%,4.0%,0) scale(2.00);background-position:77% 68%}
  93%{transform:translate3d(7%,2.7%,0) scale(1.62);background-position:42% 64%}
  97%{transform:translate3d(-4%,1.2%,0) scale(1.28);background-position:66% 61%}
  100%{transform:translate3d(0,0,0) scale(1.05);background-position:57% 58%}
}
@media(max-width:700px){
  .welcome-city-layer-a{
    transform-origin:58% 62%!important;
    animation:imapCityContinuousTravelMobile 96s cubic-bezier(.28,.03,.23,1) infinite!important;
  }
  @keyframes imapCityContinuousTravelMobile{
    0%{transform:translate3d(0,0,0) scale(1.08);background-position:58% 59%}
    8%{transform:translate3d(6%,1.4%,0) scale(1.25);background-position:44% 62%}
    16%{transform:translate3d(-7%,2.5%,0) scale(1.45);background-position:75% 65%}
    24%{transform:translate3d(8%,3.8%,0) scale(1.68);background-position:37% 69%}
    32%{transform:translate3d(-9%,3.5%,0) scale(1.94);background-position:83% 67%}
    40%{transform:translate3d(10%,5.4%,0) scale(2.23);background-position:29% 74%}
    48%{transform:translate3d(-10%,6.2%,0) scale(2.52);background-position:90% 77%}
    56%{transform:translate3d(9%,7.5%,0) scale(2.82);background-position:24% 81%}
    64%{transform:translate3d(-9%,8.2%,0) scale(3.06);background-position:93% 83%}
    70%{transform:translate3d(4%,9.0%,0) scale(3.28);background-position:45% 86%}
    76%{transform:translate3d(-8%,7.6%,0) scale(2.94);background-position:87% 81%}
    82%{transform:translate3d(9%,6.0%,0) scale(2.55);background-position:30% 76%}
    88%{transform:translate3d(-7%,4.2%,0) scale(2.10);background-position:80% 70%}
    93%{transform:translate3d(6%,2.8%,0) scale(1.70);background-position:40% 65%}
    97%{transform:translate3d(-3%,1.3%,0) scale(1.32);background-position:68% 62%}
    100%{transform:translate3d(0,0,0) scale(1.08);background-position:58% 59%}
  }
}
@media(prefers-reduced-motion:reduce){
  .welcome-city-layer-a{
    animation:none!important;
    transform:translate3d(0,1.5%,0) scale(1.15)!important;
    background-position:58% 61%!important;
  }
}


/* v3.14.33 — accueil : identité blanche à priorité finale. */
#welcomeScreen .welcome-identity strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:0 2px 14px rgba(0,40,31,.34)!important;
}


/* v3.14.47 — barre de raccourcis/couches : gauche défilante + vues fixes à droite. */
.results-controls{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  background:#fff!important;
}
.results-toolbar-row{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  padding:5px 8px!important;
  border-bottom:1px solid #d9e5e1!important;
  background:#f4f8f6!important;
}
.results-toolbar-scroll{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none!important;
  touch-action:pan-x!important;
}
.results-toolbar-scroll::-webkit-scrollbar{display:none!important}
.results-toolbar-fixed{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
  padding-left:5px!important;
  border-left:1px solid #cfddd9!important;
  background:#f4f8f6!important;
  position:relative!important;
  z-index:2!important;
}
.results-toolbar-row .criteria-tool-button,
.results-toolbar-fixed .criteria-tool-button{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #c4d7d1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#315f55!important;
  box-shadow:none!important;
  cursor:pointer!important;
  position:relative!important;
}
.results-toolbar-row .criteria-tool-button:hover,
.results-toolbar-row .criteria-tool-button:focus-visible,
.results-toolbar-fixed .criteria-tool-button:hover,
.results-toolbar-fixed .criteria-tool-button:focus-visible{
  border-color:#11685a!important;
  background:#e9f6f1!important;
  outline:0!important;
}
.results-toolbar-row .criteria-tool-button .ui-icon,
.results-toolbar-fixed .criteria-tool-button svg{
  width:20px!important;
  height:20px!important;
}
.results-toolbar-fixed #useMyLocation .locate-symbol img{width:21px!important;height:21px!important;display:block!important}
.results-toolbar-fixed #mapViewButton.active,
.results-toolbar-fixed #listViewButton.active{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.facebook-quick-button{color:#315f55!important}
.facebook-quick-button.is-active,.facebook-quick-button[aria-pressed="true"]{background:#e9f7f3!important;border-color:#11685a!important;color:#11685a!important;box-shadow:inset 0 0 0 1px rgba(17,104,90,.12)}
.community-quick-button.is-active,.community-quick-button[aria-pressed="true"]{background:#e9f7f3!important;border-color:#11685a!important;color:#11685a!important;box-shadow:inset 0 0 0 1px rgba(17,104,90,.12)}
/* v3.14.70 — un pré-filtre actif reste visuellement sélectionné, comme Facebook. */
.member-shortcut-button.is-active,.member-shortcut-button[aria-pressed="true"]{background:#e9f7f3!important;border-color:#11685a!important;color:#11685a!important;box-shadow:inset 0 0 0 1px rgba(17,104,90,.12)}
.category-menu-item.is-active,.category-menu-item[aria-pressed="true"]{background:#e9f7f3!important;border-color:#11685a!important;color:#11685a!important;box-shadow:inset 0 0 0 1px rgba(17,104,90,.12)}
.category-menu-entry.is-active .category-menu-add{color:#11685a!important;font-weight:900!important}
.toolbar-icon-label{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.active-criteria-bar{
  order:2!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  padding:5px 8px 6px!important;
  border:0!important;
  background:#fff!important;
}
.active-criteria-bar[hidden]{display:none!important}
.active-criteria-bar .reset-search-button{
  order:0!important;
  flex:0 0 34px!important;
  width:34px!important;height:34px!important;
  margin:0!important;
}
.active-criteria-bar .active-criteria-list{
  order:1!important;
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
}
.active-criteria-bar .active-criteria-list::-webkit-scrollbar{display:none!important}
/* Les anciens contrôles superposés à la carte ont été déplacés dans la barre. */
.workspace>.map-view-overlay{display:none!important}
.results-toolbar-scroll.is-dragging{cursor:grabbing;user-select:none}
.results-toolbar-scroll.is-dragging .criteria-tool-button{pointer-events:none}

@media(max-width:699px){
  .results-toolbar-row{padding:4px 6px!important;gap:5px!important}
  .results-toolbar-row .criteria-tool-button,
  .results-toolbar-fixed .criteria-tool-button{
    flex-basis:34px!important;width:34px!important;height:34px!important;
    min-width:34px!important;min-height:34px!important;border-radius:9px!important;
  }
  .results-toolbar-row .criteria-tool-button .ui-icon,
  .results-toolbar-fixed .criteria-tool-button svg{width:19px!important;height:19px!important}
  .results-toolbar-fixed{gap:4px!important;padding-left:4px!important}
  .active-criteria-bar{padding:4px 6px 5px!important}
}


/* v3.14.49 — Géolocalisation / Carte / Liste : même gabarit que Bons Plans / Facebook / Filtres. */
.results-toolbar-row .criteria-tool-button,
.results-toolbar-fixed .criteria-tool-button{
  box-sizing:border-box!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0!important;
  border-radius:10px!important;
}
.results-toolbar-row .criteria-tool-button>.ui-icon,
.results-toolbar-row .criteria-tool-button .results-type-icon>.ui-icon,
.results-toolbar-fixed .criteria-tool-button>.ui-icon,
.results-toolbar-fixed .criteria-tool-button .locate-symbol>.ui-icon{
  display:block!important;
  box-sizing:border-box!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  transform:none!important;
  overflow:visible!important;
}
.results-toolbar-fixed .map-locate-button .locate-symbol{
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.results-toolbar-fixed #useMyLocation,
.results-toolbar-fixed #mapViewButton,
.results-toolbar-fixed #listViewButton{
  font-size:initial!important;
  line-height:1!important;
}
.results-toolbar-fixed #useMyLocation.active,
.results-toolbar-fixed #useMyLocation[aria-pressed="true"],
.results-toolbar-fixed #mapViewButton[aria-pressed="true"],
.results-toolbar-fixed #listViewButton[aria-pressed="true"]{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.results-toolbar-fixed #useMyLocation.inactive,
.results-toolbar-fixed #useMyLocation[aria-pressed="false"]{
  background:#fff!important;
  color:#315f55!important;
}
@media(max-width:699px){
  .results-toolbar-row .criteria-tool-button,
  .results-toolbar-fixed .criteria-tool-button{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    border-radius:9px!important;
  }
  .results-toolbar-row .criteria-tool-button>.ui-icon,
  .results-toolbar-row .criteria-tool-button .results-type-icon>.ui-icon,
  .results-toolbar-fixed .criteria-tool-button>.ui-icon,
  .results-toolbar-fixed .criteria-tool-button .locate-symbol>.ui-icon,
  .results-toolbar-fixed .map-locate-button .locate-symbol{
    width:19px!important;
    min-width:19px!important;
    max-width:19px!important;
    height:19px!important;
    min-height:19px!important;
    max-height:19px!important;
  }
}


/* v3.14.51 — alignement strict Géolocalisation / Carte / Liste.
   Les trois pictogrammes sont désormais des SVG directs, centrés de façon identique. */
.results-toolbar-fixed #useMyLocation,
.results-toolbar-fixed #mapViewButton,
.results-toolbar-fixed #listViewButton{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle!important;
  line-height:0!important;
}

.results-toolbar-fixed #useMyLocation>.ui-icon,
.results-toolbar-fixed #mapViewButton>.ui-icon,
.results-toolbar-fixed #listViewButton>.ui-icon{
  display:block!important;
  flex:0 0 20px!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  vertical-align:middle!important;
}

.results-toolbar-fixed #useMyLocation>.locate-symbol{
  overflow:visible!important;
}

/* Le spinner remplace visuellement l'icône sans influencer son alignement au repos. */
.results-toolbar-fixed #useMyLocation{
  position:relative!important;
}
.results-toolbar-fixed #useMyLocation>.locate-spinner{
  position:absolute!important;
  inset:50% auto auto 50%!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
}
.results-toolbar-fixed #useMyLocation.busy>.locate-symbol{
  visibility:hidden!important;
  display:block!important;
}

@media(max-width:699px){
  .results-toolbar-fixed #useMyLocation>.ui-icon,
  .results-toolbar-fixed #mapViewButton>.ui-icon,
  .results-toolbar-fixed #listViewButton>.ui-icon{
    flex-basis:19px!important;
    width:19px!important;
    min-width:19px!important;
    max-width:19px!important;
    height:19px!important;
    min-height:19px!important;
    max-height:19px!important;
  }
  .results-toolbar-fixed #useMyLocation>.locate-spinner{
    width:19px!important;
    height:19px!important;
  }
}


/* v3.14.53 — correction définitive alignement Géolocalisation / Carte / Liste.
   .map-locate-button venait historiquement d'un bouton superposé sur la carte
   (right:10px; bottom:66px). En position relative ces offsets continuaient à
   déplacer le bouton vers le haut et la gauche. Ils sont neutralisés ici. */
.results-toolbar-fixed #useMyLocation.criteria-tool-button{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  translate:none!important;
  margin:0!important;
  align-self:center!important;
  z-index:auto!important;
}

.results-toolbar-fixed #useMyLocation.criteria-tool-button,
.results-toolbar-fixed #mapViewButton.criteria-tool-button,
.results-toolbar-fixed #listViewButton.criteria-tool-button{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
  vertical-align:middle!important;
}

.results-toolbar-fixed #useMyLocation.criteria-tool-button>.ui-icon,
.results-toolbar-fixed #mapViewButton.criteria-tool-button>.ui-icon,
.results-toolbar-fixed #listViewButton.criteria-tool-button>.ui-icon{
  position:static!important;
  inset:auto!important;
  display:block!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}

/* Seul le spinner reste positionné au centre du bouton. */
.results-toolbar-fixed #useMyLocation.criteria-tool-button>.locate-spinner{
  position:absolute!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  left:50%!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
}

@media(max-width:699px){
  .results-toolbar-fixed #useMyLocation.criteria-tool-button,
  .results-toolbar-fixed #mapViewButton.criteria-tool-button,
  .results-toolbar-fixed #listViewButton.criteria-tool-button{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
  .results-toolbar-fixed #useMyLocation.criteria-tool-button>.ui-icon,
  .results-toolbar-fixed #mapViewButton.criteria-tool-button>.ui-icon,
  .results-toolbar-fixed #listViewButton.criteria-tool-button>.ui-icon{
    flex-basis:19px!important;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    max-width:19px!important;
    max-height:19px!important;
  }
  .results-toolbar-fixed #useMyLocation.criteria-tool-button>.locate-spinner{
    width:19px!important;
    height:19px!important;
  }
}

/* v3.14.56 — ajustements liste / événements demandés */
#listView .results-list {
  box-sizing: border-box !important;
  padding-top: 10px !important;
}
.result-card.event-result .result-rank {
  background: #eef7f4;
}

.suggestion-publish-actions{display:flex;align-items:center;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none}
.suggestion-publish-actions::-webkit-scrollbar{display:none}
.suggestion-publish-actions .suggestion-publish-button{white-space:nowrap}
.facebook-submit-open{border:0;cursor:pointer;font:inherit}

.utility-dialog[hidden]{display:none!important}
.utility-dialog{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.42)}
.utility-dialog-card{position:relative;width:min(560px,100%);max-height:min(82vh,760px);overflow:auto;box-sizing:border-box;padding:20px;border-radius:18px;background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.22)}
.utility-dialog-card h2{margin:0 40px 8px 0}.utility-dialog-card p{line-height:1.45}
.utility-dialog-card label{display:grid;gap:6px;margin:12px 0;font-weight:800}.utility-dialog-card label small{font-weight:500}
.utility-dialog-card input{box-sizing:border-box;width:100%;min-height:44px;padding:9px 11px;border:1px solid #c8d8d3;border-radius:11px;font:inherit}
.utility-dialog-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:10px;background:#eef5f2;font-size:1.3rem;cursor:pointer}
.utility-dialog-submit,.utility-dialog-secondary{min-height:42px;padding:8px 14px;border:0;border-radius:11px;background:#11685a;color:#fff;font-weight:850;cursor:pointer}
.utility-dialog-secondary{margin-top:12px;background:#eef5f2;color:#315f55}
.utility-dialog-feedback{min-height:22px;font-size:.85rem;color:#315f55}
.admin-source-card{width:min(720px,100%)}
.admin-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.admin-source-grid button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:9px 11px;border:1px solid #c8d8d3;border-radius:11px;background:#f7faf9;color:#244e45;cursor:pointer;text-align:left}
.admin-source-grid button span{font-size:.72rem;font-weight:800}.admin-source-grid button.is-running{opacity:.6}
.admin-source-feedback{margin-top:12px;padding:11px;border-radius:11px;background:#f1f6f4;line-height:1.45;font-size:.84rem}
@media(max-width:560px){.utility-dialog{padding:8px}.utility-dialog-card{max-height:90vh;padding:16px}.admin-source-grid{grid-template-columns:1fr}.suggestion-publish-actions{max-width:100%}}

/* Diagnostic Admin des sources — v3.14.58 */
.admin-source-grid button.is-ok{outline:2px solid rgba(21,128,61,.28);background:#f0fdf4}
.admin-source-grid button.is-error{outline:2px solid rgba(185,28,28,.24);background:#fef2f2}
.admin-source-meta{max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:10px;border-radius:10px;background:#f7faf9;border:1px solid #dce7e3;font-size:11px;line-height:1.4}

.admin-source-grid button.is-active{outline:2px solid rgba(17,104,90,.38);background:#e9f7f3}
.admin-source-grid button.is-active span{color:#11685a}
.admin-sources-button.has-active-sources{box-shadow:inset 0 0 0 2px rgba(17,104,90,.55)}


@keyframes presetTouchFeedbackPulse {
  0% { transform: scale(1); filter: brightness(1); }
  45% { transform: scale(.94); filter: brightness(.88); }
  100% { transform: scale(1); filter: brightness(1); }
}
.preset-touch-feedback { animation: presetTouchFeedbackPulse .22s ease-out !important; }


/* v3.15.14 — gabarit unique des six actions et cohérence GPS/temps. */
/* Les pré-filtres, Géolocaliser, Carte et Liste partagent exactement le même carré. */
.results-toolbar-row .criteria-tool-button,
.results-toolbar-fixed .criteria-tool-button{
  box-sizing:border-box!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0!important;
  margin:0!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.results-toolbar-row .criteria-tool-button>.ui-icon,
.results-toolbar-row .criteria-tool-button .results-type-icon>.ui-icon,
.results-toolbar-fixed #useMyLocation.criteria-tool-button>.ui-icon,
.results-toolbar-fixed #mapViewButton.criteria-tool-button>.ui-icon,
.results-toolbar-fixed #listViewButton.criteria-tool-button>.ui-icon{
  box-sizing:border-box!important;
  flex:0 0 20px!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
}

/* GO / Horloge / Alerte reprennent exactement le gabarit des actions ci-dessus. */
.primary-search .search-button,
.primary-search .time-menu-wrap,
.primary-search .time-menu-button,
.primary-search .create-alert-button{
  box-sizing:border-box!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0!important;
  border-radius:10px!important;
}
.primary-search .search-button,
.primary-search .time-menu-button,
.primary-search .create-alert-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.primary-search .time-menu-button>.ui-icon,
.primary-search .create-alert-button>.ui-icon{
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
}
.primary-search .search-button{font-size:.72rem!important;line-height:1!important}
.primary-search .assistant-grid{
  grid-template-columns:minmax(0,1fr) 38px 38px 38px!important;
  align-items:center!important;
}

@media(max-width:699px){
  .results-toolbar-row .criteria-tool-button,
  .results-toolbar-fixed .criteria-tool-button,
  .primary-search .search-button,
  .primary-search .time-menu-wrap,
  .primary-search .time-menu-button,
  .primary-search .create-alert-button{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:0!important;
    border-radius:9px!important;
  }
  .results-toolbar-row .criteria-tool-button>.ui-icon,
  .results-toolbar-row .criteria-tool-button .results-type-icon>.ui-icon,
  .results-toolbar-fixed #useMyLocation.criteria-tool-button>.ui-icon,
  .results-toolbar-fixed #mapViewButton.criteria-tool-button>.ui-icon,
  .results-toolbar-fixed #listViewButton.criteria-tool-button>.ui-icon,
  .primary-search .time-menu-button>.ui-icon,
  .primary-search .create-alert-button>.ui-icon{
    flex-basis:19px!important;
    width:19px!important;
    min-width:19px!important;
    max-width:19px!important;
    height:19px!important;
    min-height:19px!important;
    max-height:19px!important;
  }
  .primary-search .assistant-grid{
    grid-template-columns:minmax(0,1fr) 34px 34px 34px!important;
    gap:4px!important;
  }
  .results-toolbar-fixed #useMyLocation.criteria-tool-button>.locate-spinner{
    width:19px!important;
    height:19px!important;
  }
}


/* v3.15.16 — menu des pré-filtres : parent + flèche réunis, sans icône +. */
.category-menu-entry{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 38px!important;
  gap:0!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid rgba(16,104,90,.13)!important;
  border-radius:13px!important;
  background:#fbfdfc!important;
}
.category-menu-entry:focus-within{border-color:var(--accent)!important;background:#f0faf7!important}
.category-menu-entry.is-active{border-color:#11685a!important;background:#e9f7f3!important;box-shadow:inset 0 0 0 1px rgba(17,104,90,.12)!important}
.category-menu-entry .category-menu-item{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:9px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:9px!important;
}
.category-menu-entry .category-menu-item:hover,
.category-menu-entry .category-menu-item:focus-visible{border:0!important;background:var(--accent-soft)!important;outline:0!important}
.category-menu-entry .category-menu-add{display:none!important}
.category-menu-entry .category-menu-more{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  min-width:38px!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-left:1px solid #d5e4df!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--accent)!important;
  font-size:1.25rem!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.category-menu-entry .category-menu-more:hover,
.category-menu-entry .category-menu-more:focus-visible{background:var(--accent-soft)!important;outline:0!important}
@media(max-width:699px){
  .category-menu-entry{grid-template-columns:minmax(0,1fr) 36px!important}
  .category-menu-entry .category-menu-more{width:36px!important;min-width:36px!important}
}
@media(max-width:390px){
  .category-menu-entry .category-menu-item{grid-template-columns:33px minmax(0,1fr)!important;gap:7px!important;padding:7px!important}
}

/* 3.15.19 — Windy Webcams : player seul dans toute la zone de carte */
.windy-map-player[hidden]{display:none!important}
.windy-map-player{position:absolute;inset:0;z-index:60;overflow:hidden;background:#000}
.windy-map-player .windy-player-frame-wrap{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#000}
.windy-map-player .windy-player-frame{display:block;width:100%;height:100%;border:0;background:#000}
.windy-player-close{z-index:62!important}
.webcam-player-image-button{position:relative;display:block;width:100%;margin:0;padding:0;overflow:hidden;border:0;border-radius:inherit;background:#000;cursor:pointer;text-align:inherit}
.webcam-player-image-button .popup-image{display:block;width:100%}
.webcam-image-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.64);color:#fff;font-size:1.15rem;line-height:1;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.28)}
.webcam-player-image-button:hover .webcam-image-play,.webcam-player-image-button:focus-visible .webcam-image-play{background:rgba(0,0,0,.82)}
.windy-attribution a{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.windy-cluster-note{padding:8px 10px;border-radius:10px;background:#eef7f4;color:#315f55}
.action-windy-live span{font-size:.72em;line-height:1}
@media(max-width:700px){
  .windy-map-player{inset:0}
  .windy-player-close{left:8px!important;top:8px!important}
}
.legend-dot.webcam{background:#0369a1}


/* v3.15.28 — actions recherche en 2 lignes :
   ↻ reste à gauche, Horloge + Alerte à droite ; Géolocalisation + filtres dessous. */
.primary-search .assistant-grid{
  grid-template-columns:minmax(0,1fr) 50px!important;
  grid-template-areas:"question search"!important;
  align-items:center!important;
}
.primary-search .question-field{grid-area:question!important}
.primary-search .search-button{grid-area:search!important}
.primary-search .assistant-grid>.time-menu-wrap,
.primary-search .assistant-grid>.create-alert-button{display:none!important}

.results-toolbar-fixed #useMyLocation{display:none!important}

.results-controls .active-criteria-bar{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:5px!important;
  min-height:0!important;
  padding:5px 8px 6px!important;
  border:0!important;
  background:#fff!important;
}
.results-controls .active-criteria-bar[hidden]{display:none!important}

.active-criteria-actions-row,
.active-criteria-filter-row{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  gap:6px!important;
}
.active-criteria-actions-row{
  justify-content:space-between!important;
}
.active-criteria-actions-right{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
}
.active-criteria-filter-row{
  align-items:center!important;
}
.active-criteria-filter-row .active-criteria-list{
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
}
.active-criteria-filter-row .active-criteria-list::-webkit-scrollbar{display:none!important}

.active-criteria-actions-row .reset-search-button,
.active-criteria-actions-right .criteria-tool-button,
.active-criteria-filter-row .active-location-control{
  box-sizing:border-box!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #c4d7d1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#315f55!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  cursor:pointer!important;
}
.active-criteria-actions-row .reset-search-button:hover,
.active-criteria-actions-row .reset-search-button:focus-visible,
.active-criteria-actions-right .criteria-tool-button:hover,
.active-criteria-actions-right .criteria-tool-button:focus-visible,
.active-criteria-filter-row .active-location-control:hover,
.active-criteria-filter-row .active-location-control:focus-visible{
  border-color:#11685a!important;
  background:#e9f6f1!important;
  outline:0!important;
}
.active-criteria-actions-right .criteria-tool-button .ui-icon,
.active-criteria-filter-row .active-location-control>.ui-icon,
.active-criteria-filter-row .active-location-control .locate-symbol{
  width:20px!important;
  height:20px!important;
}
.active-criteria-filter-row .active-location-control .locate-symbol img{
  display:block!important;
  width:21px!important;
  height:21px!important;
}
.active-criteria-filter-row #useMyLocation.active,
.active-criteria-filter-row #useMyLocation[aria-pressed="true"],
.active-criteria-actions-right #timeMenuButton.active,
.active-criteria-actions-right #timeMenuButton[aria-pressed="true"]{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.active-criteria-filter-row #useMyLocation.inactive,
.active-criteria-filter-row #useMyLocation[aria-pressed="false"]{
  background:#fff!important;
  color:#315f55!important;
}
.active-criteria-actions-right .time-menu-wrap{
  position:relative!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  overflow:visible!important;
}
.active-criteria-actions-right .time-menu{
  top:43px!important;
  right:0!important;
  left:auto!important;
  z-index:90!important;
}
.active-criteria-actions-right #createAlertButton .local-alert-badge{
  position:absolute!important;
}

/* Le bouton localisation dans la ligne des filtres remplace la pastille texte « ICI ». */
.active-criteria-filter-row .active-location-control{
  flex-shrink:0!important;
}
.active-criteria-list [data-criterion-kind="time"],
.active-criteria-list [data-implicit-location="true"]{
  display:none!important;
}

@media(max-width:699px){
  .primary-search .assistant-grid{
    grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-areas:"question search"!important;
    grid-template-rows:42px!important;
  }
  .results-controls .active-criteria-bar{padding:4px 6px 5px!important;gap:4px!important}
  .active-criteria-actions-row,
  .active-criteria-filter-row{gap:5px!important}
  .active-criteria-actions-row .reset-search-button,
  .active-criteria-actions-right .criteria-tool-button,
  .active-criteria-filter-row .active-location-control,
  .active-criteria-actions-right .time-menu-wrap{
    flex-basis:34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }
  .active-criteria-actions-right .time-menu{top:39px!important}
}
@media(max-width:390px){
  .primary-search .assistant-grid{
    grid-template-columns:minmax(0,1fr) 40px!important;
    grid-template-rows:40px!important;
  }
}


/* v3.15.29 — barre critères sur une seule ligne + menu Horloge au-dessus de Google Maps. */
.results-controls{
  position:relative!important;
  z-index:7000!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.results-controls .active-criteria-bar{
  position:relative!important;
  z-index:7100!important;
  display:block!important;
  overflow:visible!important;
  min-width:0!important;
  padding:5px 8px!important;
}
.results-controls .active-criteria-bar[hidden]{display:none!important}
.active-criteria-single-row{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.active-criteria-single-row>.reset-search-button,
.active-criteria-single-row>.active-location-control,
.active-criteria-actions-right .criteria-tool-button{
  box-sizing:border-box!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #c4d7d1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#315f55!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  cursor:pointer!important;
}
.active-criteria-single-row>.active-location-control>.ui-icon,
.active-criteria-single-row>.active-location-control .locate-symbol,
.active-criteria-actions-right .criteria-tool-button .ui-icon{
  width:20px!important;
  height:20px!important;
}
.active-criteria-single-row>.active-location-control .locate-symbol img{
  display:block!important;
  width:21px!important;
  height:21px!important;
}
.active-criteria-single-row>#useMyLocation.active,
.active-criteria-single-row>#useMyLocation[aria-pressed="true"],
.active-criteria-actions-right #timeMenuButton.active,
.active-criteria-actions-right #timeMenuButton[aria-pressed="true"]{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.active-criteria-single-row>.active-criteria-list{
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.active-criteria-single-row>.active-criteria-list::-webkit-scrollbar{display:none!important}
.active-criteria-actions-right{
  position:relative!important;
  z-index:7200!important;
  flex:0 0 auto!important;
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  overflow:visible!important;
}
.active-criteria-actions-right .time-menu-wrap{
  position:relative!important;
  z-index:7300!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  overflow:visible!important;
}
.active-criteria-actions-right .time-menu{
  position:absolute!important;
  z-index:99999!important;
  top:43px!important;
  right:0!important;
  left:auto!important;
  overflow:visible!important;
}
/* Neutralise l'ancienne mise en page v3.15.28 en deux rangées. */
.active-criteria-actions-row,
.active-criteria-filter-row{display:contents!important}

@media(max-width:699px){
  .results-controls .active-criteria-bar{padding:4px 6px!important}
  .active-criteria-single-row{gap:5px!important}
  .active-criteria-single-row>.reset-search-button,
  .active-criteria-single-row>.active-location-control,
  .active-criteria-actions-right .criteria-tool-button,
  .active-criteria-actions-right .time-menu-wrap{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
  .active-criteria-actions-right{gap:4px!important}
  .active-criteria-actions-right .time-menu{top:39px!important;right:0!important}
}


/* v3.15.30 — ordre strict : ↻ | géolocalisation | filtres | Horloge + Alerte */
.results-controls .active-criteria-single-row{
  display:grid!important;
  grid-template-columns:38px 38px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:6px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.results-controls .active-criteria-single-row>.reset-search-button{
  grid-column:1!important;
}
.results-controls .active-criteria-single-row>.active-location-control{
  grid-column:2!important;
}
.results-controls .active-criteria-single-row>.active-criteria-list{
  grid-column:3!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  flex:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
}
.results-controls .active-criteria-single-row>.active-criteria-actions-right{
  grid-column:4!important;
  justify-self:end!important;
  margin-left:0!important;
  flex:none!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
}
@media(max-width:699px){
  .results-controls .active-criteria-single-row{
    grid-template-columns:34px 34px minmax(0,1fr) auto!important;
    column-gap:5px!important;
  }
  .results-controls .active-criteria-single-row>.active-criteria-actions-right{gap:4px!important}
}


/* v3.15.31 — Nouvelle recherche placée avant le moteur de recherche. */
.primary-search .assistant-grid{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 50px!important;
  grid-template-areas:"reset question search"!important;
  align-items:center!important;
  gap:6px!important;
}
.primary-search .search-reset-button{
  grid-area:reset!important;
  box-sizing:border-box!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #c4d7d1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#315f55!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  font-size:24px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.primary-search .search-reset-button:hover,
.primary-search .search-reset-button:focus-visible{
  border-color:#11685a!important;
  background:#e9f6f1!important;
  outline:0!important;
}
.primary-search .question-field{grid-area:question!important}
.primary-search .search-button{grid-area:search!important}

/* La barre des critères commence maintenant par Géolocalisation. */
.results-controls .active-criteria-single-row{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:6px!important;
}
.results-controls .active-criteria-single-row>.active-location-control{grid-column:1!important}
.results-controls .active-criteria-single-row>.active-criteria-list{grid-column:2!important}
.results-controls .active-criteria-single-row>.active-criteria-actions-right{grid-column:3!important}
.results-controls .active-criteria-single-row>.reset-search-button{display:none!important}

@media(max-width:699px){
  .primary-search .assistant-grid{
    grid-template-columns:36px minmax(0,1fr) 42px!important;
    grid-template-areas:"reset question search"!important;
    grid-template-rows:42px!important;
    gap:5px!important;
  }
  .primary-search .search-reset-button{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    font-size:22px!important;
  }
  .results-controls .active-criteria-single-row{
    grid-template-columns:34px minmax(0,1fr) auto!important;
    column-gap:5px!important;
  }
}
@media(max-width:390px){
  .primary-search .assistant-grid{
    grid-template-columns:34px minmax(0,1fr) 40px!important;
    grid-template-rows:40px!important;
  }
  .primary-search .search-reset-button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
}

/* v3.15.34 — alignement strict des filtres avec Géolocalisation / Horloge / Alerte. */
.results-controls .active-criteria-single-row{
  align-items:center!important;
}
.results-controls .active-criteria-single-row>.active-criteria-list{
  box-sizing:border-box!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  align-self:center!important;
  gap:5px!important;
}
.results-controls .active-criteria-single-row>.active-criteria-list .active-criterion-chip{
  box-sizing:border-box!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.results-controls .active-criteria-single-row>.active-location-control,
.results-controls .active-criteria-actions-right .criteria-tool-button,
.results-controls .active-criteria-actions-right .time-menu-wrap{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
@media(max-width:699px){
  .results-controls .active-criteria-single-row>.active-criteria-list{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
  .results-controls .active-criteria-single-row>.active-criteria-list .active-criterion-chip{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:0 9px!important;
  }
}

/* v3.15.35 — verrouillage définitif sur UNE seule ligne : géolocalisation | filtres | horloge | alerte. */
.results-controls .active-criteria-bar{
  display:block!important;
  overflow:visible!important;
}
.results-controls .active-criteria-single-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  gap:6px!important;
  overflow:visible!important;
}
.results-controls .active-criteria-single-row>.active-location-control{
  order:1!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  align-self:center!important;
  margin:0!important;
}
.results-controls .active-criteria-single-row>.active-criteria-list{
  order:2!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  align-content:center!important;
  align-self:center!important;
  gap:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
}
.results-controls .active-criteria-single-row>.active-criteria-list::-webkit-scrollbar{display:none!important}
.results-controls .active-criteria-single-row>.active-criteria-list>.active-criterion-chip{
  flex:0 0 auto!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  align-self:center!important;
  vertical-align:middle!important;
}
.results-controls .active-criteria-single-row>.active-criteria-actions-right{
  order:3!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  margin-left:auto!important;
  padding:0!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  align-self:center!important;
  gap:5px!important;
  overflow:visible!important;
}
.results-controls .active-criteria-actions-right .criteria-tool-button,
.results-controls .active-criteria-actions-right .time-menu-wrap{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  margin:0!important;
  align-self:center!important;
}
@media(max-width:699px){
  .results-controls .active-criteria-single-row{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    gap:5px!important;
  }
  .results-controls .active-criteria-single-row>.active-location-control,
  .results-controls .active-criteria-actions-right .criteria-tool-button,
  .results-controls .active-criteria-actions-right .time-menu-wrap{
    flex-basis:34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }
  .results-controls .active-criteria-single-row>.active-criteria-list{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    gap:4px!important;
  }
  .results-controls .active-criteria-single-row>.active-criteria-list>.active-criterion-chip{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
  .results-controls .active-criteria-single-row>.active-criteria-actions-right{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    gap:4px!important;
  }
}

/* v3.15.36 — résultats des alertes visibles dans Carte / Liste. */
.alert-manage-heading-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
#alertShowAllMatches,
.alert-show-results{
  border:1px solid #d29a16!important;
  background:#fff8e7!important;
  color:#805500!important;
  font-weight:700!important;
}
#alertShowAllMatches:hover,
#alertShowAllMatches:focus-visible,
.alert-show-results:hover,
.alert-show-results:focus-visible{
  border-color:#a66b00!important;
  background:#ffefbd!important;
}
.badge.alert-match-badge{
  border-color:#e0a21c!important;
  background:#fff3cd!important;
  color:#744b00!important;
  font-weight:800!important;
}
.result-card.alert-match-result{
  border-left:3px solid #e0a21c;
}
.result-alert-context{
  margin:3px 0 5px!important;
  color:#805500!important;
  font-size:.86rem!important;
  font-weight:700!important;
}
.alert-match-notice{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:4px 0 8px!important;
  padding:7px 9px;
  border:1px solid #efd28b;
  border-radius:9px;
  background:#fff8e7;
  color:#714b00;
}
.alert-match-notice span{
  font-size:.85em;
  font-weight:600;
}
@media(max-width:699px){
  .alert-manage-heading{
    align-items:flex-start!important;
    gap:6px!important;
  }
  .alert-manage-heading-actions{
    gap:4px;
  }
  #alertShowAllMatches,
  .alert-show-results{
    min-height:34px;
  }
}


/* v3.15.37 — gestion des alertes compacte et éditable. */
.alert-dialog{padding:8px!important;align-items:center!important}
.alert-dialog-card{
  width:min(760px,calc(100% - 8px))!important;
  max-height:min(96dvh,920px)!important;
  padding:14px!important;
  gap:7px!important;
  overflow:auto!important;
}
.alert-dialog-card h2{font-size:1.15rem!important;line-height:1.15!important}
.alert-manage-section{padding:8px!important;gap:6px!important;border-radius:10px!important}
.alert-manage-heading{min-height:30px!important}
.alert-manage-heading h3{font-size:.9rem!important}
.alert-manage-heading-actions{display:flex!important;gap:5px!important;align-items:center!important}
.alert-manage-heading-actions button,#alertListRefresh,#alertShowAllMatches{
  min-height:28px!important;padding:4px 7px!important;border-radius:7px!important;font-size:.68rem!important
}
.alert-list{
  display:grid!important;gap:4px!important;
  max-height:min(60dvh,560px)!important;
  overflow-y:auto!important;padding-right:2px!important
}
.alert-list-item{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px!important;align-items:center!important;
  min-height:48px!important;padding:5px 6px!important;border-radius:8px!important
}
.alert-list-item-main{gap:1px!important}
.alert-list-title-row{display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important}
.alert-list-title-row strong{
  min-width:0!important;flex:1 1 auto!important;font-size:.79rem!important;line-height:1.15!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
.alert-list-item-main>span{
  font-size:.65rem!important;line-height:1.15!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important
}
.alert-status{padding:2px 5px!important;font-size:.57rem!important;white-space:nowrap!important}
.alert-list-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:3px!important;align-items:center!important}
.alert-list-actions button{
  position:relative!important;display:grid!important;place-items:center!important;
  width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;
  padding:0!important;border-radius:7px!important;font-size:.84rem!important;line-height:1!important
}
.alert-list-actions .alert-action-count{
  position:absolute!important;right:-3px!important;top:-4px!important;min-width:14px!important;height:14px!important;
  padding:0 3px!important;border-radius:999px!important;background:#11685a!important;color:#fff!important;
  display:grid!important;place-items:center!important;font-size:.52rem!important;font-weight:900!important
}
.alert-create-disclosure>summary{padding:8px 10px!important;font-size:.82rem!important}
.alert-create-disclosure .alert-create-section{padding:8px!important;gap:7px!important}
.alert-create-section label{gap:3px!important;font-size:.76rem!important}
.alert-create-section input,.alert-create-section select{padding:7px!important;font-size:.82rem!important}
.alert-form-actions{display:flex!important;gap:6px!important;align-items:center!important}
.alert-form-actions .alert-submit{flex:1 1 auto!important;min-height:36px!important;padding:7px 10px!important}
.alert-edit-cancel{min-height:36px!important;border:1px solid #b8d2ca!important;border-radius:9px!important;background:#fff!important;color:#315f55!important;font-weight:800!important;padding:7px 10px!important;cursor:pointer!important}
#alertFeedback{margin:0!important}

@media(max-width:600px){
  .alert-dialog{align-items:end!important;padding:0!important}
  .alert-dialog-card{width:100%!important;max-height:96dvh!important;padding:10px!important;border-radius:15px 15px 0 0!important}
  .alert-list{max-height:62dvh!important}
  .alert-list-item{grid-template-columns:minmax(0,1fr) auto!important;min-height:46px!important;padding:4px 5px!important}
  .alert-list-actions{flex-direction:row!important;flex-wrap:nowrap!important}
  .alert-list-actions button{flex:0 0 27px!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important}
  .alert-list-title-row strong{font-size:.76rem!important}
  .alert-list-item-main>span{font-size:.61rem!important}
}


/* v3.15.38 — dates des publications locales. */
.publication-dates{margin:5px 0 0;color:#5d6f69;font-size:.82rem;line-height:1.25}
.publication-dates.is-popup{padding-top:4px;border-top:1px solid rgba(17,104,90,.12)}

/* v3.15.39 — profils « Pour qui ? » */
.profile-audience-bar{display:flex;align-items:center;gap:7px;min-width:0;padding:6px 8px;background:#fff;border-bottom:1px solid #e1ebe8;overflow:hidden}.profile-audience-label{flex:0 0 auto;font-size:.78rem;font-weight:800;color:#526762}.profile-audience-list{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}.profile-audience-list::-webkit-scrollbar{display:none}.profile-audience-chip,.profile-audience-manage{height:32px;min-height:32px;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border:1px solid #c9d9d5;border-radius:999px;background:#fff;color:#315f55;padding:3px 9px;text-decoration:none;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.profile-audience-chip.active,.profile-audience-chip[aria-pressed="true"]{background:#11685a;border-color:#11685a;color:#fff}.profile-audience-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e9f6f1;color:#11685a;font-size:.7rem;font-weight:900}.profile-audience-chip.active .profile-audience-avatar{background:#fff;color:#11685a}.profile-audience-manage{width:32px;padding:0;justify-content:center;font-size:1rem}.alert-profile-field{border:1px solid #d7e2df;border-radius:11px;padding:8px 10px;margin:6px 0}.alert-profile-field legend{padding:0 5px;font-weight:800}.alert-profile-choices{display:flex;gap:6px;flex-wrap:wrap}.alert-profile-choices label{display:flex;align-items:center;gap:5px;border:1px solid #d7e2df;border-radius:999px;padding:5px 8px;background:#fff;font-size:.82rem}.alert-profile-choices input{width:18px!important;height:18px!important;margin:0}
@media(max-width:600px){.profile-audience-bar{padding:5px 6px}.profile-audience-label{font-size:.72rem}.profile-audience-chip{height:30px;min-height:30px;font-size:.75rem;padding:3px 7px}.profile-audience-manage{height:30px;min-height:30px;width:30px}}


/* v3.15.42 — alertes reçues + modération Facebook PWA */
.alert-received-section{border:1px solid #dce8e4;border-radius:12px;padding:8px;background:#f8fbfa;margin-bottom:8px}
.alert-received-heading{margin-bottom:5px}.alert-received-actions{display:flex;gap:5px}.alert-received-actions button{min-height:30px;padding:4px 9px;border:1px solid #bfd4cd;border-radius:8px;background:#fff;color:#315f55;font-weight:800;cursor:pointer}
.alert-received-list{display:grid;gap:3px;max-height:245px;overflow:auto}.alert-received-item{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 14px;align-items:center;gap:6px;border:0;border-bottom:1px solid #e6efec;background:transparent;padding:6px 4px;text-align:left;color:inherit;cursor:pointer}.alert-received-item:last-child{border-bottom:0}.alert-received-item:hover{background:#eef7f4;border-radius:7px}.alert-received-icon{font-size:.9rem}.alert-received-main{min-width:0;display:grid;gap:1px}.alert-received-main strong,.alert-received-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-received-main strong{font-size:.84rem}.alert-received-main small{font-size:.71rem;color:#64766f}
.facebook-moderation-dialog{z-index:12000}.facebook-moderation-card{width:min(620px,100%);max-height:min(94vh,820px)}.facebook-moderation-image{display:block;width:100%;max-height:250px;object-fit:cover;border-radius:12px;margin:8px 0}.facebook-moderation-card h3{margin:8px 0}.facebook-moderation-meta{display:grid;gap:5px;margin:10px 0}.facebook-moderation-meta div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px}.facebook-moderation-meta dt{font-weight:800;color:#526961}.facebook-moderation-meta dd{margin:0}.facebook-moderation-description{max-height:130px;overflow:auto}.facebook-moderation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.facebook-moderation-actions button{min-height:48px;border:0;border-radius:11px;background:#11685a;color:#fff;font-weight:900;cursor:pointer}.facebook-moderation-actions button.danger{background:#fff1f1;color:#9b1c1c;border:1px solid #e5b9b9}.facebook-moderation-state{padding:10px;border-radius:9px;background:#eef5f2}
@media(max-width:560px){.alert-received-list{max-height:220px}.facebook-moderation-card{max-height:96vh}.facebook-moderation-actions{grid-template-columns:1fr 1fr}.facebook-moderation-meta div{grid-template-columns:76px minmax(0,1fr)}}


/* v3.15.44 — file de modération directement dans ICI.AM */
.moderation-queue-button{position:relative!important}
.moderation-queue-symbol{display:grid;place-items:center;width:20px;height:20px;font-size:18px;font-weight:900;line-height:1}
.moderation-queue-button.has-pending-moderation{background:#fff7ed!important;border-color:#f59e0b!important;color:#9a3412!important}
.moderation-queue-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#b91c1c;color:#fff;font-size:10px;font-weight:900;line-height:18px;text-align:center}
.moderation-queue-dialog{z-index:12080!important}
.moderation-queue-panel{width:min(980px,100%)!important;max-height:min(94vh,960px)!important;padding:16px!important}
.moderation-queue-heading h2{margin:0 38px 3px 0}.moderation-queue-heading p{margin:0;color:#526861;font-size:.9rem}
.moderation-queue-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.moderation-card{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;border:1px solid #d5e2de;border-radius:14px;background:#fff;overflow:hidden}
.moderation-card.is-focused{outline:3px solid rgba(17,104,90,.25);border-color:#11685a}.moderation-card.is-processing{opacity:.58;pointer-events:none}
.moderation-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px 7px}.moderation-card-head small{color:#64748b;font-size:.72rem}.moderation-kind{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border-radius:999px;background:#edf6f3;color:#315f55;font-size:.72rem;font-weight:850}
.moderation-card-image{display:block;width:100%;height:150px;object-fit:cover;background:#eef3f1}.moderation-card-body{padding:9px 10px}.moderation-card-body h3{margin:0 0 4px;font-size:1rem}.moderation-card-body p{margin:5px 0;font-size:.82rem;line-height:1.35}.moderation-card-author{color:#526861}.moderation-card-description{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.moderation-card-link{display:inline-block;margin-top:4px;font-size:.82rem;font-weight:800;color:#11685a}
.moderation-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px 10px 10px;border-top:1px solid #edf2f0}.moderation-card-actions button{min-height:40px;border:0;border-radius:10px;font-weight:900;cursor:pointer}.moderation-card-actions .approve{background:#11685a;color:#fff}.moderation-card-actions .reject{background:#fee2e2;color:#991b1b}.moderation-empty{grid-column:1/-1;padding:28px 12px;text-align:center;color:#526861;background:#f6f9f8;border-radius:14px}
@media(max-width:700px){.moderation-queue-dialog{padding:4px!important;align-items:end!important}.moderation-queue-panel{width:100%!important;max-height:94dvh!important;border-radius:16px 16px 0 0!important;padding:12px!important}.moderation-queue-list{grid-template-columns:1fr;gap:8px}.moderation-card{grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto}.moderation-card-head{grid-column:1/-1}.moderation-card-image{grid-column:1;width:92px;height:100%;min-height:118px}.moderation-card-body{grid-column:2}.moderation-card-actions{grid-column:1/-1}.moderation-card-description{-webkit-line-clamp:2}}

/* v3.15.53 — ordre demandé : Géolocalisation | Horloge | filtres | Alerte. */
.results-controls .active-criteria-single-row>.active-criteria-time-wrap{
  order:2!important;position:relative!important;z-index:7300!important;flex:0 0 38px!important;
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;
  margin:0!important;overflow:visible!important;align-self:center!important;
}
.results-controls .active-criteria-single-row>.active-criteria-time-wrap .criteria-tool-button{
  box-sizing:border-box!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  margin:0!important;padding:0!important;border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important;
  display:grid!important;place-items:center!important;box-shadow:none!important;cursor:pointer!important;
}
.results-controls .active-criteria-single-row>.active-criteria-time-wrap .criteria-tool-button .ui-icon{width:20px!important;height:20px!important}
.results-controls .active-criteria-single-row>.active-criteria-time-wrap #timeMenuButton.active,
.results-controls .active-criteria-single-row>.active-criteria-time-wrap #timeMenuButton[aria-pressed="true"]{border-color:#11685a!important;background:#11685a!important;color:#fff!important}
.results-controls .active-criteria-single-row>.active-criteria-time-wrap .time-menu{position:absolute!important;z-index:99999!important;top:43px!important;left:0!important;right:auto!important}
.results-controls .active-criteria-single-row>.active-location-control{order:1!important}
.results-controls .active-criteria-single-row>.active-criteria-list{order:3!important}
.results-controls .active-criteria-single-row>.active-criteria-actions-right{order:4!important}
@media(max-width:699px){
  .results-controls .active-criteria-single-row>.active-criteria-time-wrap,
  .results-controls .active-criteria-single-row>.active-criteria-time-wrap .criteria-tool-button{
    flex-basis:34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;
  }
  .results-controls .active-criteria-single-row>.active-criteria-time-wrap .time-menu{top:39px!important;left:0!important;right:auto!important}
}

/* v3.15.69 — suggestions lisibles par provenance/état, contours cumulables. */
.suggestion-slide.is-facebook{
  border:2px solid #1877f2;
}
.suggestion-slide.is-open{
  border:2px solid #15803d;
}
.suggestion-slide.is-featured{
  border:2px solid #f4a000;
}
/* Deux informations simultanées : campagne/WebCod = or, ouvert = vert. */
.suggestion-slide.is-featured.is-open{
  border-color:#f4a000;
  box-shadow:inset 0 0 0 2px #15803d;
}
/* Événement Facebook mis en avant : or à l'extérieur, bleu Facebook à l'intérieur. */
.suggestion-slide.is-featured.is-facebook{
  border-color:#f4a000;
  box-shadow:inset 0 0 0 2px #1877f2;
}
.suggestion-slide.is-facebook.is-open:not(.is-featured){
  border-color:#1877f2;
  box-shadow:inset 0 0 0 2px #15803d;
}


/* v3.15.69 — géolocalisation coupée : état gris explicite, jamais vert. */
.results-controls #useMyLocation.inactive,
.results-controls #useMyLocation[aria-pressed="false"],
.results-controls #useMyLocation.inactive:hover,
.results-controls #useMyLocation[aria-pressed="false"]:hover,
.results-controls #useMyLocation.inactive:focus-visible,
.results-controls #useMyLocation[aria-pressed="false"]:focus-visible,
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"],
.results-overlay .map-locate-button.inactive:hover,
.results-overlay .map-locate-button[aria-pressed="false"]:hover,
.results-overlay .map-locate-button.inactive:focus-visible,
.results-overlay .map-locate-button[aria-pressed="false"]:focus-visible{
  background:#cccccc!important;
  border-color:#b7b7b7!important;
  color:#3f4a47!important;
  box-shadow:none!important;
}

/* Envoi d'un événement : activité visible pendant le partage / la préparation. */
.utility-dialog-feedback.facebook-submit-progress{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  font-weight:700;
}
.utility-dialog-feedback.facebook-submit-progress::before{
  content:"";
  flex:0 0 18px;
  width:18px;
  height:18px;
  border:3px solid #c8ddd7;
  border-top-color:#11685a;
  border-radius:50%;
  animation:spin .75s linear infinite;
}
.utility-dialog-feedback.facebook-submit-success::before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  margin-right:6px;
  border-radius:50%;
  background:#11685a;
  color:#fff;
  font-weight:900;
}


/* v3.15.73 — GPS désactivé : état visuel gris prioritaire sur les anciens thèmes. */
#useMyLocation.inactive,
#useMyLocation[aria-pressed="false"],
.results-toolbar-fixed #useMyLocation.inactive,
.results-toolbar-fixed #useMyLocation[aria-pressed="false"],
.active-criteria-bar #useMyLocation.inactive,
.active-criteria-bar #useMyLocation[aria-pressed="false"],
.active-criteria-filter-row #useMyLocation.inactive,
.active-criteria-filter-row #useMyLocation[aria-pressed="false"],
.active-criteria-single-row>#useMyLocation.inactive,
.active-criteria-single-row>#useMyLocation[aria-pressed="false"],
.results-overlay .map-locate-button.inactive,
.results-overlay .map-locate-button[aria-pressed="false"]{
  background:#cccccc!important;
  border-color:#b7b7b7!important;
  color:#3f4a47!important;
  box-shadow:none!important;
}

/* v3.15.74 — nouvelle expérience ICI.AM, entièrement réversible vers l’interface classique. */
html.imap-ui-modern .welcome-classic-home{display:none!important}
html.imap-ui-classic .welcome-modern-home{display:none!important}
html.imap-ui-classic .discovery-main-panel{display:none!important}

.ui-mode-toggle-welcome{
  min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.5);border-radius:999px;
  background:rgba(4,65,52,.48);color:#fff;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.ui-mode-toggle-welcome:hover,.ui-mode-toggle-welcome:focus-visible{background:rgba(4,65,52,.7);outline:2px solid rgba(255,255,255,.75);outline-offset:2px}
.header-ui-mode-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 9px;
  border:1px solid #c6d9d3;border-radius:10px;background:#fff;color:#315f55;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer
}
.header-ui-mode-toggle .ui-icon{width:16px;height:16px}
.header-ui-mode-toggle:hover,.header-ui-mode-toggle:focus-visible{border-color:#11685a;background:#edf7f4;outline:0}

.welcome-modern-home{
  position:relative;z-index:5;box-sizing:border-box;width:min(760px,100%);margin:0 auto;
  padding:clamp(82px,11vh,112px) 18px max(32px,env(safe-area-inset-bottom,0px));color:#fff
}
.modern-welcome-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:clamp(18px,3vh,28px)}
.modern-welcome-brand img{width:64px;height:64px;border-radius:18px;box-shadow:0 10px 30px rgba(0,38,29,.22)}
.modern-welcome-brand div{display:grid;gap:2px;text-align:left}.modern-welcome-brand strong{font-size:1.15rem;letter-spacing:.02em}.modern-welcome-brand span{font-size:.76rem;font-weight:700;opacity:.88}
.modern-welcome-heading{text-align:center;margin:0 auto 18px;max-width:650px}
.modern-welcome-heading>span{display:block;margin-bottom:4px;font-size:.82rem;font-weight:850;opacity:.9}
.modern-welcome-heading h1{margin:0;font-size:clamp(1.52rem,5.5vw,2.4rem);line-height:1.04;letter-spacing:-.035em;color:#fff}
.modern-welcome-heading p{margin:10px auto 0;max-width:570px;font-size:.84rem;line-height:1.42;font-weight:650;color:rgba(255,255,255,.88)}
.modern-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.modern-discovery-card{
  min-width:0;min-height:70px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:9px;
  padding:10px 11px;border:1px solid rgba(255,255,255,.34);border-radius:16px;background:rgba(255,255,255,.94);
  color:#173f36;text-align:left;box-shadow:0 10px 26px rgba(0,47,36,.14);cursor:pointer
}
.modern-discovery-card:hover,.modern-discovery-card:focus-visible{transform:translateY(-1px);border-color:#fff;background:#fff;outline:0}
.modern-discovery-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e8f5f0;color:#11685a}
.modern-discovery-icon .ui-icon{width:23px;height:23px}.modern-discovery-copy{min-width:0;display:grid;gap:2px}.modern-discovery-copy strong{font-size:.84rem}.modern-discovery-copy small{font-size:.66rem;line-height:1.2;color:#62766f}.modern-discovery-arrow{font-size:1.35rem;color:#7b9189}
.modern-discovery-card.tone-now .modern-discovery-icon{background:#e8f5f0;color:#11685a}.modern-discovery-card.tone-soon .modern-discovery-icon{background:#fff4dc;color:#9a6500}.modern-discovery-card.tone-deal .modern-discovery-icon{background:#fff1d8;color:#8f5d00}
.modern-discovery-card.is-active-scenario{border-color:#11685a;background:#e8f5f0;box-shadow:0 0 0 2px rgba(17,104,90,.16),0 10px 26px rgba(0,47,36,.14)}
.modern-discovery-card.is-active-scenario .modern-discovery-icon{background:#11685a;color:#fff}
.modern-discovery-secondary{display:flex;gap:7px;margin-top:9px;overflow-x:auto;overflow-y:hidden;padding:1px 0 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.modern-discovery-secondary::-webkit-scrollbar{display:none}
.modern-discovery-secondary button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(5,77,61,.58);color:#fff;font:inherit;font-size:.69rem;font-weight:800;white-space:nowrap;cursor:pointer}.modern-discovery-secondary .ui-icon{width:16px;height:16px}
.modern-welcome-search{margin-top:14px}.modern-welcome-search>label{display:block;margin:0 0 6px 3px;font-size:.76rem;font-weight:850;color:#fff}.modern-welcome-search-box{height:48px;display:grid;grid-template-columns:28px minmax(0,1fr) 44px;align-items:center;gap:4px;padding:0 4px 0 11px;border:1px solid rgba(255,255,255,.55);border-radius:15px;background:#fff;color:#315f55;box-shadow:0 10px 28px rgba(0,43,33,.2)}.modern-welcome-search-box>.ui-icon{width:19px;height:19px;color:#11685a}.modern-welcome-search-box input{min-width:0;width:100%;height:44px;padding:0;border:0;background:transparent;color:#193d35;font:inherit;font-size:.82rem;outline:0}.modern-welcome-search-box button{width:40px;height:40px;border:0;border-radius:11px;background:#11685a;color:#fff;font-weight:900;cursor:pointer}
.modern-welcome-utilities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.modern-welcome-utilities button{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:rgba(5,77,61,.55);color:#fff;text-align:left;cursor:pointer}.modern-welcome-utilities .ui-icon{flex:0 0 20px;width:20px;height:20px}.modern-welcome-utilities span{min-width:0;display:grid;gap:1px}.modern-welcome-utilities strong{font-size:.72rem}.modern-welcome-utilities small{font-size:.61rem;line-height:1.2;opacity:.82}

.discovery-main-panel{display:none}
html.imap-ui-modern .discovery-main-panel{
  order:1;display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0;padding:7px 8px;
  border-bottom:1px solid #d8e6e1;background:#f1f8f5
}
.discovery-main-title{flex:0 0 auto;display:grid;gap:0;min-width:105px}.discovery-main-title span{font-size:.58rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#648078}.discovery-main-title strong{font-size:.75rem;line-height:1.15;color:#244d43}
.discovery-main-scroll{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.discovery-main-scroll::-webkit-scrollbar{display:none}
.discovery-main-action{flex:0 0 auto;min-height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #c5d9d2;border-radius:12px;background:#fff;color:#315f55;font:inherit;font-size:.68rem;cursor:pointer;white-space:nowrap}.discovery-main-action .ui-icon{width:17px;height:17px}.discovery-main-action strong{font-size:.68rem}.discovery-main-action:hover,.discovery-main-action:focus-visible{border-color:#11685a;background:#eaf6f2;outline:0}.discovery-main-action.tone-now{background:#fff;border-color:#c5d9d2;color:#315f55}.discovery-main-action.tone-deal{border-color:#e6c485;background:#fff9ed;color:#745000}
.discovery-main-action.is-active-scenario{background:#11685a!important;border-color:#11685a!important;color:#fff!important}
html.imap-ui-modern .primary-search{order:2!important;padding-top:5px!important;padding-bottom:5px!important;background:#fff!important}
html.imap-ui-modern .results-controls{order:3!important}
html.imap-ui-modern .workspace{order:4!important}
html.imap-ui-modern .app-main>#answerBar{order:5!important}
html.imap-ui-modern .primary-search .question-field input{font-size:.81rem!important}
html.imap-ui-modern .results-toolbar-row{background:#fff!important;padding-top:4px!important;padding-bottom:4px!important}
/* v3.15.75 — la nouvelle interface conserve les raccourcis métiers dans la zone Filtres / Carte / Liste. */
html.imap-ui-modern .results-toolbar-scroll>#dealsQuickButton,
html.imap-ui-modern .results-toolbar-scroll>#facebookQuickButton,
html.imap-ui-modern .results-toolbar-scroll>#guestActivitiesQuickButton,
html.imap-ui-modern .results-toolbar-scroll>#webcamsQuickButton,
html.imap-ui-modern .results-toolbar-scroll>.guest-food-shortcut-button{display:inline-flex!important}
html.imap-ui-modern #categoryMenuButton{width:auto!important;max-width:none!important;flex-basis:auto!important;padding:0 10px!important;display:inline-flex!important;gap:6px!important}
html.imap-ui-modern #categoryMenuButton .toolbar-icon-label{position:static!important;width:auto!important;height:auto!important;margin:0!important;clip:auto!important;overflow:visible!important;font-size:.68rem!important;font-weight:850!important;color:inherit!important}
html.imap-ui-modern .suggestion-placeholder::before{content:'ICI.AM · ';font-weight:900;color:#11685a}

@media(max-width:699px){
  .welcome-top-actions{align-items:center!important;gap:6px!important}.ui-mode-toggle-welcome{min-height:32px;padding:0 9px;font-size:.64rem}
  .welcome-modern-home{padding-top:max(76px,calc(env(safe-area-inset-top,0px) + 68px));padding-left:12px;padding-right:12px}
  .modern-welcome-brand{justify-content:flex-start;margin-bottom:13px;padding:0 4px}.modern-welcome-brand img{width:48px;height:48px;border-radius:14px}.modern-welcome-brand strong{font-size:1rem}.modern-welcome-brand span{font-size:.68rem}
  .modern-welcome-heading{text-align:left;margin-bottom:13px;padding:0 4px}.modern-welcome-heading h1{font-size:clamp(1.35rem,6.3vw,1.9rem)}.modern-welcome-heading p{font-size:.75rem;margin-top:7px}
  .modern-discovery-grid{gap:7px}.modern-discovery-card{min-height:64px;grid-template-columns:36px minmax(0,1fr) 14px;gap:7px;padding:8px;border-radius:14px}.modern-discovery-icon{width:36px;height:36px;border-radius:11px}.modern-discovery-icon .ui-icon{width:20px;height:20px}.modern-discovery-copy strong{font-size:.76rem}.modern-discovery-copy small{font-size:.59rem}
  .modern-welcome-search{margin-top:10px}.modern-welcome-search-box{height:44px;grid-template-columns:24px minmax(0,1fr) 40px;border-radius:13px}.modern-welcome-search-box input{height:40px;font-size:.75rem}.modern-welcome-search-box button{width:36px;height:36px;border-radius:10px}
  .modern-welcome-utilities{gap:6px}.modern-welcome-utilities button{padding:7px 8px}.modern-welcome-utilities small{display:none}
  .header-ui-mode-toggle{width:34px;min-width:34px;padding:0}.header-ui-mode-toggle .header-ui-mode-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  html.imap-ui-modern .discovery-main-panel{gap:6px;padding:5px 6px}.discovery-main-title{display:none}.discovery-main-action{min-height:34px;padding:0 8px;border-radius:10px;font-size:.64rem}.discovery-main-action strong{font-size:.64rem}.discovery-main-action .ui-icon{width:16px;height:16px}
}

/* La PWA classique garde exactement sa grille historique. La nouvelle interface ajoute seulement le ruban de découverte. */
@media(max-width:699px){
  html.installed-app.imap-ui-modern .app-main{
    display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr) auto!important
  }
  html.installed-app.imap-ui-modern .discovery-main-panel{grid-row:1!important}
  html.installed-app.imap-ui-modern .primary-search{grid-row:2!important}
  html.installed-app.imap-ui-modern .results-controls{grid-row:3!important}
  html.installed-app.imap-ui-modern .workspace{grid-row:4!important}
  html.installed-app.imap-ui-modern .app-main>#answerBar{grid-row:5!important}
  html.installed-app.imap-ui-modern .welcome-screen{overflow-y:auto!important;overscroll-behavior-y:contain!important}
}

/* v3.15.76 — scénarios de découverte personnalisables */
.modern-discovery-card-shell{position:relative;min-width:0}
.modern-discovery-card-shell>.modern-discovery-card{width:100%}
.discovery-scenario-config{
  position:absolute;right:7px;top:7px;z-index:3;width:28px;height:28px;display:grid;place-items:center;
  border:1px solid #c9dbd5;border-radius:9px;background:rgba(255,255,255,.96);color:#315f55;cursor:pointer;padding:0
}
.discovery-scenario-config:hover,.discovery-scenario-config:focus-visible{border-color:#11685a;background:#eef8f5;outline:0}
.discovery-scenario-config .ui-icon{width:15px;height:15px}
.modern-discovery-card-shell>.modern-discovery-card .modern-discovery-arrow{margin-right:28px}
.discovery-main-action-shell{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}
.discovery-main-action-shell>.discovery-main-action{padding-right:31px}
.discovery-main-action-shell>.discovery-scenario-config.compact{right:4px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:8px}
.discovery-main-action-shell>.discovery-scenario-config.compact .ui-icon{width:13px;height:13px}
.discovery-scenario-card{max-width:540px}
.discovery-scenario-families{display:grid;gap:7px;margin:12px 0;padding:12px;border:1px solid #d9e5e1;border-radius:13px}
.discovery-scenario-families legend{padding:0 5px;font-weight:850;color:#315f55}
.discovery-family-options{display:grid;gap:8px;margin-top:10px;padding:11px;border-radius:12px;background:#f4f8f7;border:1px solid #dce7e3}
.discovery-family-options[hidden]{display:none!important}
.discovery-family-options strong{color:#315f55}
.discovery-scenario-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.discovery-scenario-actions>*{flex:1 1 180px}
@media(max-width:600px){
  .discovery-scenario-config{width:26px;height:26px;right:5px;top:5px}
  .modern-discovery-card-shell>.modern-discovery-card .modern-discovery-arrow{margin-right:24px}
}
.discovery-scenario-add-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px}
.discovery-scenario-add-filter label{min-width:0}
.discovery-scenario-add-filter select{width:100%;min-width:0}
.discovery-scenario-extra-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.discovery-scenario-extra-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 7px 4px 10px;border:1px solid #c9ddd6;border-radius:999px;background:#f3f9f7;color:#315f55;font-size:.72rem;font-weight:800}
.discovery-scenario-extra-chip button{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:#fff;color:#315f55;cursor:pointer}
.discovery-scenario-extra-chip button:hover,.discovery-scenario-extra-chip button:focus-visible{background:#e3f1ec;outline:2px solid #11685a;outline-offset:1px}
.discovery-scenario-scoped-filters{display:grid;gap:9px;margin-top:10px}
.discovery-scenario-refinement-row{display:grid;gap:5px;padding:9px 10px;border:1px solid #d8e6e1;border-radius:12px;background:#fafdfc}
.discovery-scenario-refinement-row>span{font-size:.72rem;color:#315f55}
.discovery-scenario-refinement-row input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #c9d8d3;border-radius:10px;background:#fff;color:#173f36;font:inherit}
.discovery-scenario-refinement-row small{font-size:.62rem;line-height:1.3;color:#70827c}

@media(max-width:600px){.discovery-scenario-add-filter{grid-template-columns:1fr}.discovery-scenario-add-filter button{width:100%}}


/* v3.15.77 — recherche accessible par loupe, affichée en superposition de la carte. */
.map-search-overlay[hidden]{display:none!important}
.map-search-overlay{
  position:absolute!important;z-index:9100!important;top:8px!important;left:8px!important;right:8px!important;
  width:auto!important;max-width:760px!important;margin:0 auto!important;pointer-events:none!important
}
.map-search-overlay .map-search-panel{
  width:100%!important;box-sizing:border-box!important;margin:0!important;padding:6px!important;pointer-events:auto!important;
  border:1px solid rgba(17,104,90,.24)!important;border-radius:14px!important;background:rgba(255,255,255,.97)!important;
  box-shadow:0 8px 24px rgba(14,65,54,.22)!important;backdrop-filter:blur(8px)!important
}
.map-search-overlay .assistant-grid{
  display:grid!important;grid-template-columns:38px minmax(0,1fr) 38px 38px!important;align-items:center!important;gap:5px!important
}
.map-search-overlay .question-field{min-width:0!important;height:38px!important}
.map-search-overlay .question-field input{height:38px!important;min-height:38px!important;padding:0 10px!important;border:1px solid #c7d9d3!important;border-radius:10px!important;background:#fff!important}
.map-search-overlay .reset-search-button,.map-search-overlay .search-button,.map-search-overlay .map-search-close{
  box-sizing:border-box!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;
  margin:0!important;padding:0!important;border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important;
  display:grid!important;place-items:center!important;box-shadow:none!important;cursor:pointer!important
}
.map-search-overlay .search-button{background:#11685a!important;border-color:#11685a!important;color:#fff!important;font-size:.72rem!important;font-weight:900!important}
.map-search-overlay .map-search-close{font-size:1.25rem!important;line-height:1!important}
.results-controls #searchOverlayButton.active{border-color:#11685a!important;background:#11685a!important;color:#fff!important}
@media(max-width:699px){
  .map-search-overlay{top:6px!important;left:6px!important;right:6px!important}
  .map-search-overlay .map-search-panel{padding:5px!important;border-radius:12px!important}
  .map-search-overlay .assistant-grid{grid-template-columns:34px minmax(0,1fr) 34px 34px!important;gap:4px!important}
  .map-search-overlay .question-field,.map-search-overlay .question-field input{height:34px!important;min-height:34px!important}
  .map-search-overlay .reset-search-button,.map-search-overlay .search-button,.map-search-overlay .map-search-close{
    width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;border-radius:9px!important
  }
}


/* v3.15.80 — personnalisation des raccourcis mobile-first, plus simple et non technique. */
.discovery-scenario-card{width:min(560px,100%);max-width:560px;padding:18px;background:#f7faf9}
.discovery-scenario-hero{padding:2px 42px 4px 2px}
.discovery-scenario-kicker{display:inline-flex;align-items:center;min-height:25px;padding:3px 9px;border-radius:999px;background:#e7f3ef;color:#11685a;font-size:.68rem;font-weight:900;letter-spacing:.02em}
.discovery-scenario-card .discovery-scenario-hero h2{margin:8px 0 5px;color:#173f36;font-size:1.28rem;line-height:1.14}
.discovery-scenario-hero p{margin:0;color:#60756e;font-size:.84rem;line-height:1.42}
.discovery-scenario-step{box-sizing:border-box;margin-top:12px;padding:12px;border:1px solid #dce8e4;border-radius:16px;background:#fff}
.discovery-scenario-step-title{display:flex;align-items:flex-start;gap:10px}
.discovery-scenario-step-title>span,.discovery-scenario-step-number{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#11685a;color:#fff;font-size:.76rem;font-weight:950}
.discovery-scenario-step-title>div{display:grid;gap:2px;min-width:0}
.discovery-scenario-step-title strong,.discovery-scenario-families legend strong{color:#173f36;font-size:.9rem}
.discovery-scenario-step-title small,.discovery-scenario-families legend small{display:block;margin-top:2px;color:#74847f;font-size:.68rem;font-weight:550;line-height:1.35}
.discovery-scenario-radius{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;margin:11px 0 0!important;padding:9px 10px;border-radius:12px;background:#f4f8f7}
.discovery-scenario-radius>span{font-size:.78rem;color:#315f55}
.discovery-scenario-radius select{min-width:112px;min-height:42px;padding:7px 34px 7px 10px;border:1px solid #c9d9d4;border-radius:10px;background:#fff;color:#173f36;font:inherit;font-weight:850}
.discovery-scenario-families{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px;padding:12px}
.discovery-scenario-families legend{display:flex;align-items:flex-start;gap:10px;width:calc(100% - 8px);padding:0 4px 7px;color:inherit}
.discovery-scenario-families legend>span:last-child{display:block;min-width:0}
.discovery-scenario-families .check-line{display:flex!important;align-items:center!important;gap:9px!important;min-height:46px;margin:0!important;padding:8px 10px;border:1px solid #e1ebe7;border-radius:12px;background:#fbfdfc;color:#315f55;font-size:.77rem;cursor:pointer}
.discovery-scenario-families .check-line:has(input:checked){border-color:#79aa9d;background:#edf7f4;color:#173f36;box-shadow:inset 0 0 0 1px rgba(17,104,90,.08)}
.discovery-scenario-families .check-line input{flex:0 0 20px;width:20px!important;height:20px!important;min-height:20px!important;margin:0;padding:0;accent-color:#11685a}
.discovery-scenario-families .check-line span{line-height:1.2}
.discovery-scenario-custom-step{padding-bottom:11px}
.discovery-scenario-add-filter{margin-top:11px;padding-top:10px;border-top:1px solid #edf2f0}
.discovery-scenario-add-filter label{margin:0!important;gap:5px!important;font-size:.72rem;color:#315f55}
.discovery-scenario-add-filter select{min-height:43px;padding:7px 10px;border:1px solid #c9d9d4;border-radius:10px;background:#fff;font:inherit}
.discovery-scenario-add-filter .utility-dialog-secondary{min-height:43px;margin:0}
.discovery-scenario-extra-filters{margin-top:9px}
.discovery-scenario-scoped-filters{gap:8px;margin-top:10px}
.discovery-scenario-refinement-row{gap:7px;margin:0!important;padding:10px;border-color:#e0eae6;background:#f7faf9}
.discovery-scenario-refinement-row>span{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.74rem}
.discovery-scenario-refinement-row>span strong{color:#315f55}
.discovery-scenario-refinement-row>span small{color:#889690;font-size:.6rem;font-weight:650}
.discovery-scenario-refinement-row input{min-height:43px}
.discovery-scenario-actions{position:sticky;bottom:-18px;z-index:4;margin:14px -18px -18px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #e2ebe8;box-shadow:0 -8px 22px rgba(20,67,57,.08);backdrop-filter:blur(8px)}
.discovery-scenario-actions .utility-dialog-submit{min-height:46px}
.discovery-scenario-actions .utility-dialog-secondary{min-height:46px;margin-top:0}
.discovery-scenario-card>.utility-dialog-feedback{margin:10px 2px 0;min-height:18px}

@media(max-width:600px){
  .discovery-scenario-dialog{place-items:end center!important;padding:0!important;background:rgba(8,36,30,.45)}
  .discovery-scenario-card{width:100%;max-width:none;max-height:min(94dvh,900px);margin:0;padding:15px 14px;border-radius:22px 22px 0 0;box-shadow:0 -14px 44px rgba(0,0,0,.22);overscroll-behavior:contain}
  .discovery-scenario-card .utility-dialog-close{position:sticky;float:right;top:0;z-index:8;margin:0 0 -34px auto;background:#eaf3f0}
  .discovery-scenario-hero{padding:1px 44px 1px 1px}
  .discovery-scenario-card .discovery-scenario-hero h2{font-size:1.17rem}
  .discovery-scenario-hero p{font-size:.78rem}
  .discovery-scenario-step{margin-top:10px;padding:10px;border-radius:14px}
  .discovery-scenario-families{grid-template-columns:1fr 1fr;gap:6px;padding:10px}
  .discovery-scenario-families .check-line{min-height:48px;padding:8px;font-size:.72rem}
  .discovery-scenario-step-title small,.discovery-scenario-families legend small{font-size:.64rem}
  .discovery-scenario-add-filter{grid-template-columns:1fr auto;align-items:end}
  .discovery-scenario-add-filter button{width:auto;min-width:86px!important}
  .discovery-scenario-actions{bottom:-15px;margin:12px -14px -15px;padding:9px 14px calc(9px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);gap:7px}
  .discovery-scenario-actions>*{min-width:0;flex:auto}
  .discovery-scenario-actions .utility-dialog-submit,.discovery-scenario-actions .utility-dialog-secondary{padding:8px 10px;font-size:.78rem}
}

@media(max-width:390px){
  .discovery-scenario-families{grid-template-columns:1fr}
  .discovery-scenario-add-filter{grid-template-columns:1fr}
  .discovery-scenario-add-filter button{width:100%!important}
}

/* v3.15.81 — commandes permanentes au-dessus des pré-filtres. */
.results-controls .persistent-map-tools{
  display:block!important;
  position:relative!important;
  z-index:7350!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
  overflow:visible!important;
}
.persistent-toolbar-row{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  padding:5px 8px!important;
  border-bottom:1px solid #dce7e3!important;
  background:#fff!important;
  overflow:visible!important;
}
.persistent-toolbar-left,.persistent-toolbar-right{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  overflow:visible!important;
}
.persistent-toolbar-left{flex:0 0 auto!important}
.persistent-toolbar-right{flex:0 0 auto!important;margin-left:auto!important}
.persistent-toolbar-row .criteria-tool-button,
.persistent-toolbar-row .time-menu-wrap{
  box-sizing:border-box!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
}
.persistent-toolbar-row .criteria-tool-button{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid #c4d7d1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#315f55!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.persistent-toolbar-row .criteria-tool-button:hover,
.persistent-toolbar-row .criteria-tool-button:focus-visible{border-color:#11685a!important;background:#e9f6f1!important;outline:0!important}
.persistent-toolbar-row .criteria-tool-button .ui-icon{display:block!important;width:20px!important;height:20px!important}
.persistent-toolbar-left #useMyLocation.active,
.persistent-toolbar-left #useMyLocation[aria-pressed="true"],
.persistent-toolbar-left #timeMenuButton.active,
.persistent-toolbar-left #timeMenuButton[aria-pressed="true"],
.persistent-toolbar-right #searchOverlayButton.active{
  border-color:#11685a!important;background:#11685a!important;color:#fff!important
}
.persistent-toolbar-left #useMyLocation.inactive,
.persistent-toolbar-left #useMyLocation[aria-pressed="false"]{background:#fff!important;color:#315f55!important}
.persistent-toolbar-left #useMyLocation .locate-symbol{display:grid!important;place-items:center!important;width:22px!important;height:22px!important}
.persistent-toolbar-left #useMyLocation .locate-symbol img{display:block!important;width:22px!important;height:22px!important}
.persistent-toolbar-row .time-menu-wrap{position:relative!important;z-index:7450!important;overflow:visible!important}
.persistent-toolbar-row .time-menu-wrap #timeMenuButton{width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important}
.persistent-toolbar-row .time-menu{position:absolute!important;z-index:99999!important;top:43px!important;left:0!important;right:auto!important}
.persistent-toolbar-right #createAlertButton .local-alert-badge{position:absolute!important}
.persistent-publish-button{color:#11685a!important}
.persistent-facebook-publish{color:#315f55!important}

/* Les pré-filtres sont désormais la ligne immédiatement sous les commandes permanentes. */
.results-controls .results-toolbar-row{
  position:relative!important;
  z-index:7200!important;
  order:initial!important;
  border-top:0!important;
  border-bottom:1px solid #dce7e3!important;
  background:#f6faf8!important;
}
.active-criteria-chips-row{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  padding:5px 8px!important;
  border-bottom:1px solid #e4ece9!important;
  background:#fff!important;
}
.active-criteria-chips-row:has(.active-criteria-list:empty){display:none!important}
.active-criteria-chips-row>.active-criteria-list{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}
.active-criteria-chips-row>.active-criteria-list::-webkit-scrollbar{display:none!important}

/* Un seul pré-filtre « Activités & événements » représente Agenda + Facebook. */
.events-combined-quick-button.is-active,
.events-combined-quick-button[aria-pressed="true"]{
  background:#e9f7f3!important;border-color:#11685a!important;color:#11685a!important;box-shadow:inset 0 0 0 1px rgba(17,104,90,.12)!important
}
.events-combined-quick-button.is-partial{border-color:#79aa9d!important;background:#f3faf7!important;color:#315f55!important}
.toolbar-combined-icons{
  position:relative!important;
  display:block!important;
  width:25px!important;
  height:21px!important;
  flex:0 0 25px!important;
}
.results-toolbar-row .events-combined-quick-button .toolbar-combined-icons .ui-icon{
  position:absolute!important;
  margin:0!important;
  padding:0!important;
}
.results-toolbar-row .events-combined-quick-button .toolbar-combined-icons .ui-icon:first-child{
  left:0!important;top:0!important;width:18px!important;height:18px!important
}
.results-toolbar-row .events-combined-quick-button .toolbar-combined-icons .ui-icon:last-child{
  right:0!important;bottom:0!important;width:13px!important;height:13px!important;
  padding:1px!important;border-radius:50%!important;background:#fff!important
}
.events-combined-quick-button.is-active .toolbar-combined-icons .ui-icon:last-child{background:#e9f7f3!important}

@media(max-width:699px){
  .persistent-toolbar-row{min-height:44px!important;padding:4px 6px!important;gap:5px!important}
  .persistent-toolbar-left,.persistent-toolbar-right{gap:4px!important}
  .persistent-toolbar-row .criteria-tool-button,
  .persistent-toolbar-row .time-menu-wrap{
    flex-basis:34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;
    height:34px!important;min-height:34px!important;max-height:34px!important
  }
  .persistent-toolbar-row .criteria-tool-button .ui-icon{width:19px!important;height:19px!important}
  .persistent-toolbar-left #useMyLocation .locate-symbol,.persistent-toolbar-left #useMyLocation .locate-symbol img{width:20px!important;height:20px!important}
  .persistent-toolbar-row .time-menu{top:39px!important}
  .active-criteria-chips-row{padding:4px 6px!important}
}
@media(max-width:360px){
  .persistent-toolbar-left,.persistent-toolbar-right{gap:3px!important}
  .persistent-toolbar-row{padding-left:4px!important;padding-right:4px!important}
  .persistent-toolbar-row .criteria-tool-button,
  .persistent-toolbar-row .time-menu-wrap{
    flex-basis:32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;
    height:32px!important;min-height:32px!important;max-height:32px!important
  }
  .persistent-toolbar-row .time-menu{top:37px!important}
}

/* v3.15.83 — une seule ligne : 4 actions fixes à gauche, pré-filtres glissants dessous, loupe + alerte fixes à droite. */
.results-controls .unified-prefilter-toolbar{
  --imap-toolbar-left-space:184px;
  --imap-toolbar-right-space:96px;
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  height:48px!important;
  padding:0!important;
  gap:0!important;
  border-top:0!important;
  border-bottom:1px solid #dce7e3!important;
  background:#f6faf8!important;
  overflow:visible!important;
}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left,
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-right{
  box-sizing:border-box!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:5px 8px!important;
  background:#fff!important;
  overflow:visible!important;
}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left{
  left:0!important;
  justify-content:flex-start!important;
  border-right:1px solid #dce7e3!important;
  box-shadow:8px 0 12px -12px rgba(24,65,56,.55)!important;
}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-right{
  right:0!important;
  justify-content:flex-end!important;
  border-left:1px solid #dce7e3!important;
  box-shadow:-8px 0 12px -12px rgba(24,65,56,.55)!important;
}
.results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{
  box-sizing:border-box!important;
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex:1 1 100%!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:5px var(--imap-toolbar-right-space) 5px var(--imap-toolbar-left-space)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-padding-left:var(--imap-toolbar-left-space)!important;
  scroll-padding-right:var(--imap-toolbar-right-space)!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
  background:#f6faf8!important;
}
.results-controls .unified-prefilter-toolbar>.results-toolbar-scroll::-webkit-scrollbar{display:none!important}
/* Carte/Liste restent accessibles à la fin du bandeau, sans devenir des icônes fixes supplémentaires. */
.results-controls .unified-prefilter-toolbar .scrolling-view-controls{
  position:static!important;
  z-index:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0 0 0 6px!important;
  border-left:1px solid #cfddd9!important;
  background:transparent!important;
}
.results-controls .unified-prefilter-toolbar .persistent-toolbar-left .criteria-tool-button,
.results-controls .unified-prefilter-toolbar .persistent-toolbar-left .time-menu-wrap,
.results-controls .unified-prefilter-toolbar .persistent-toolbar-right .criteria-tool-button,
.results-controls .unified-prefilter-toolbar .results-toolbar-scroll>.criteria-tool-button,
.results-controls .unified-prefilter-toolbar .scrolling-view-controls .criteria-tool-button{
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
}
/* Les filtres passent réellement sous les zones fixes pendant le glissement tactile. */
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left::after,
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-right::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:8px;
  pointer-events:none;
}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left::after{right:-8px;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,0))}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-right::before{left:-8px;background:linear-gradient(270deg,rgba(255,255,255,.92),rgba(255,255,255,0))}

@media(max-width:699px){
  .results-controls .unified-prefilter-toolbar{
    --imap-toolbar-left-space:160px;
    --imap-toolbar-right-space:84px;
    min-height:44px!important;
    height:44px!important;
  }
  .results-controls .unified-prefilter-toolbar>.persistent-toolbar-left,
  .results-controls .unified-prefilter-toolbar>.persistent-toolbar-right{
    gap:4px!important;
    padding:5px 6px!important;
  }
  .results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{
    gap:5px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }
  .results-controls .unified-prefilter-toolbar .persistent-toolbar-left .criteria-tool-button,
  .results-controls .unified-prefilter-toolbar .persistent-toolbar-left .time-menu-wrap,
  .results-controls .unified-prefilter-toolbar .persistent-toolbar-right .criteria-tool-button,
  .results-controls .unified-prefilter-toolbar .results-toolbar-scroll>.criteria-tool-button,
  .results-controls .unified-prefilter-toolbar .scrolling-view-controls .criteria-tool-button{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
}
@media(max-width:360px){
  .results-controls .unified-prefilter-toolbar{
    --imap-toolbar-left-space:145px;
    --imap-toolbar-right-space:75px;
    min-height:40px!important;
    height:40px!important;
  }
  .results-controls .unified-prefilter-toolbar>.persistent-toolbar-left,
  .results-controls .unified-prefilter-toolbar>.persistent-toolbar-right{
    gap:3px!important;
    padding:4px!important;
  }
  .results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{padding-top:4px!important;padding-bottom:4px!important;gap:4px!important}
  .results-controls .unified-prefilter-toolbar .persistent-toolbar-left .criteria-tool-button,
  .results-controls .unified-prefilter-toolbar .persistent-toolbar-left .time-menu-wrap,
  .results-controls .unified-prefilter-toolbar .persistent-toolbar-right .criteria-tool-button,
  .results-controls .unified-prefilter-toolbar .results-toolbar-scroll>.criteria-tool-button,
  .results-controls .unified-prefilter-toolbar .scrolling-view-controls .criteria-tool-button{
    flex-basis:32px!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
  }
}

/* v3.15.84 — structure finale mobile-first :
   - Géolocalisation + Horloge fixes à gauche du ruban de pré-filtres ;
   - filtres actifs juste avant la carte ;
   - Loupe + Alerte + Carte + Liste fixes à droite de ce bandeau ;
   - publication Info/Facebook regroupée dans le header pour les non-admins. */
.header-publish-menu{position:relative;display:block;margin:0;padding:0}
.header-publish-menu>summary{list-style:none;cursor:pointer}
.header-publish-menu>summary::-webkit-details-marker{display:none}
.header-publish-toggle{position:relative!important;padding:0!important}
.header-publish-combined-icon{position:relative;display:block;width:25px;height:23px}
.header-publish-combined-icon>.ui-icon{position:absolute!important;margin:0!important;padding:0!important}
.header-publish-combined-icon>.ui-icon:first-child{left:0;top:1px;width:20px!important;height:20px!important}
.header-publish-combined-icon>.ui-icon:last-child{right:0;bottom:0;width:13px!important;height:13px!important;padding:1px!important;border-radius:50%;background:#eff8f5}
.header-publish-menu[open] .header-publish-toggle{border-color:#11685a!important;background:#daf0e9!important}
.header-publish-popover{
  position:absolute;z-index:100500;top:calc(100% + 8px);right:0;width:min(265px,82vw);padding:7px;
  border:1px solid #cbded8;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(20,67,57,.2)
}
.header-publish-popover::before{content:"";position:absolute;top:-6px;right:14px;width:10px;height:10px;transform:rotate(45deg);background:#fff;border-left:1px solid #cbded8;border-top:1px solid #cbded8}
.header-publish-popover a,.header-publish-popover button{
  box-sizing:border-box;display:flex;align-items:center;gap:9px;width:100%;min-height:43px;padding:8px 10px;margin:0;
  border:0;border-radius:10px;background:#fff;color:#315f55;text-decoration:none;text-align:left;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer
}
.header-publish-popover a:hover,.header-publish-popover a:focus-visible,.header-publish-popover button:hover,.header-publish-popover button:focus-visible{background:#edf7f4;outline:0}
.header-publish-popover .ui-icon{flex:0 0 20px;width:20px;height:20px}

/* Le ruban supérieur ne garde plus que GPS + Horloge comme commandes permanentes. */
.results-controls .unified-prefilter-toolbar{
  --imap-toolbar-left-space:100px!important;
  --imap-toolbar-right-space:0px!important;
}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left{
  z-index:20!important;background:#fff!important;border-right:1px solid #dce7e3!important
}
.results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{
  padding:5px 6px 5px var(--imap-toolbar-left-space)!important;
  scroll-padding-left:var(--imap-toolbar-left-space)!important;
  scroll-padding-right:6px!important
}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-right{display:none!important}
.results-controls .unified-prefilter-toolbar .scrolling-view-controls{display:none!important}

/* Le bandeau Nom × est désormais le dernier élément avant Google Maps. */
.map-adjacent-filter-bar{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:6px!important;
  width:100%!important;min-width:0!important;min-height:48px!important;padding:5px 8px!important;
  border-top:0!important;border-bottom:1px solid #dce7e3!important;background:#fff!important;
  position:relative!important;z-index:7300!important;overflow:visible!important
}
/* Même vide, le bandeau reste visible pour conserver Loupe/Alerte/Carte/Liste. */
.map-adjacent-filter-bar:has(.active-criteria-list:empty){display:flex!important}
.map-adjacent-filter-bar>.active-criteria-list{
  flex:1 1 0!important;width:0!important;min-width:0!important;display:flex!important;align-items:center!important;gap:6px!important;
  overflow-x:auto!important;overflow-y:hidden!important;padding:0 184px 0 0!important;scroll-padding-right:184px!important;
  scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important
}
.map-adjacent-filter-bar>.active-criteria-list::-webkit-scrollbar{display:none!important}
.map-adjacent-filter-bar>.active-criteria-fixed-actions{
  position:absolute!important;z-index:20!important;top:0!important;right:0!important;bottom:0!important;
  display:flex!important;align-items:center!important;gap:5px!important;padding:5px 8px!important;
  border-left:1px solid #dce7e3!important;background:#fff!important;box-shadow:-8px 0 12px -12px rgba(24,65,56,.55)!important
}
.map-adjacent-filter-bar>.active-criteria-fixed-actions::before{
  content:"";position:absolute;left:-8px;top:0;bottom:0;width:8px;pointer-events:none;
  background:linear-gradient(270deg,rgba(255,255,255,.94),rgba(255,255,255,0))
}
.map-adjacent-filter-bar .criteria-tool-button{
  box-sizing:border-box!important;position:relative!important;display:grid!important;place-items:center!important;
  flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;
  height:38px!important;min-height:38px!important;max-height:38px!important;padding:0!important;margin:0!important;
  border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important;box-shadow:none!important;cursor:pointer!important
}
.map-adjacent-filter-bar .criteria-tool-button:hover,.map-adjacent-filter-bar .criteria-tool-button:focus-visible{border-color:#11685a!important;background:#e9f6f1!important;outline:0!important}
.map-adjacent-filter-bar .criteria-tool-button>.ui-icon,.map-adjacent-filter-bar .criteria-tool-button>svg{width:20px!important;height:20px!important}
.map-adjacent-filter-bar #searchOverlayButton.active,
.map-adjacent-filter-bar #mapViewButton[aria-pressed="true"],
.map-adjacent-filter-bar #listViewButton[aria-pressed="true"]{border-color:#11685a!important;background:#11685a!important;color:#fff!important}
.map-adjacent-filter-bar #createAlertButton .local-alert-badge{position:absolute!important}

@media(max-width:699px){
  .results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:84px!important}
  .results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{padding-left:var(--imap-toolbar-left-space)!important;padding-right:5px!important}
  .map-adjacent-filter-bar{min-height:44px!important;padding:5px 6px!important;gap:5px!important}
  .map-adjacent-filter-bar>.active-criteria-list{padding-right:160px!important;scroll-padding-right:160px!important;gap:5px!important}
  .map-adjacent-filter-bar>.active-criteria-fixed-actions{gap:4px!important;padding:5px 6px!important}
  .map-adjacent-filter-bar .criteria-tool-button{flex-basis:34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;border-radius:9px!important}
  .map-adjacent-filter-bar .criteria-tool-button>.ui-icon,.map-adjacent-filter-bar .criteria-tool-button>svg{width:19px!important;height:19px!important}
}
@media(max-width:360px){
  .results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:76px!important}
  .map-adjacent-filter-bar>.active-criteria-list{padding-right:148px!important;scroll-padding-right:148px!important}
  .map-adjacent-filter-bar>.active-criteria-fixed-actions{gap:3px!important;padding-left:4px!important;padding-right:4px!important}
  .map-adjacent-filter-bar .criteria-tool-button{flex-basis:32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important}
}


/* v3.15.85 — Rayon : contrôle compact, cercle persistant et état hors zone. */
.map-adjacent-filter-bar>.radius-filter-wrap{
  position:relative!important;z-index:35!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;
}
.map-adjacent-filter-bar .radius-filter-button{
  position:relative!important;color:#315f55!important;background:#fff!important;
}
.map-adjacent-filter-bar .radius-filter-button.is-active{
  border-color:#11685a!important;background:#e9f6f1!important;color:#11685a!important;
}
.map-adjacent-filter-bar .radius-filter-button.is-outside{
  border-color:#9a6a13!important;background:#fff7e7!important;color:#76500d!important;
}
.radius-filter-badge{
  position:absolute!important;right:-4px!important;bottom:-4px!important;display:grid!important;place-items:center!important;
  min-width:17px!important;height:17px!important;padding:0 3px!important;border:2px solid #fff!important;border-radius:9px!important;
  background:#11685a!important;color:#fff!important;font-size:9px!important;font-weight:800!important;line-height:1!important;
}
.radius-filter-menu{
  position:absolute!important;z-index:99990!important;top:calc(100% + 7px)!important;left:0!important;
  width:min(270px,calc(100vw - 24px))!important;padding:12px!important;border:1px solid #d6e3df!important;border-radius:14px!important;
  background:#fff!important;box-shadow:0 12px 30px rgba(26,63,55,.18)!important;color:#183c34!important;
}
.radius-filter-menu[hidden]{display:none!important}
.radius-filter-menu>strong{display:block!important;margin:0 0 3px!important;font-size:.95rem!important}
.radius-filter-help{display:block!important;margin-bottom:10px!important;color:#627b74!important;font-size:.78rem!important;line-height:1.3!important}
.radius-filter-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.radius-filter-options button{
  min-height:38px!important;padding:7px 5px!important;border:1px solid #d6e3df!important;border-radius:10px!important;background:#fff!important;
  color:#315f55!important;font:inherit!important;font-size:.82rem!important;font-weight:700!important;cursor:pointer!important;
}
.radius-filter-options button:first-child{grid-column:1/-1!important}
.radius-filter-options button.is-active,.radius-filter-options button[aria-checked="true"]{
  border-color:#11685a!important;background:#e9f6f1!important;color:#11685a!important;
}
.radius-outside-notice{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:7px!important;width:100%!important;min-width:0!important;
  padding:6px 8px!important;border-bottom:1px solid #eadab7!important;background:#fff8e9!important;color:#654711!important;font-size:.8rem!important;
}
.radius-outside-notice[hidden]{display:none!important}
.radius-outside-notice>span{flex:1 1 auto!important;min-width:0!important}
.radius-outside-notice>button{
  flex:0 0 auto!important;min-height:30px!important;padding:4px 8px!important;border:1px solid #c8a75f!important;border-radius:8px!important;
  background:#fff!important;color:#654711!important;font:inherit!important;font-weight:800!important;cursor:pointer!important;
}
@media(max-width:699px){
  .map-adjacent-filter-bar>.radius-filter-wrap{flex-basis:34px!important;width:34px!important;min-width:34px!important}
  .radius-filter-menu{left:-1px!important;width:min(250px,calc(100vw - 12px))!important;padding:10px!important}
  .radius-filter-options{gap:5px!important}
  .radius-filter-options button{min-height:36px!important;font-size:.78rem!important}
  .radius-outside-notice{gap:5px!important;padding:5px 6px!important;font-size:.74rem!important}
  .radius-outside-notice>button{min-height:28px!important;padding:3px 6px!important}
}
@media(max-width:360px){
  .map-adjacent-filter-bar>.radius-filter-wrap{flex-basis:32px!important;width:32px!important;min-width:32px!important}
}

/* v3.15.86 — hiérarchie mobile finale, rayon minimal et publication toujours au-dessus. */
.app-header{
  overflow:visible!important;
  z-index:15000!important;
  isolation:isolate!important;
}
.header-actions,.header-publish-menu{overflow:visible!important}
.header-alert-button{position:relative!important}
.header-publish-popover{z-index:16000!important}

/* Le premier bandeau sous l'accueil contient les filtres actifs + outils de vue. */
.map-adjacent-filter-bar{order:1!important;z-index:8200!important}
.results-controls{order:2!important;z-index:8100!important}
.workspace{order:3!important}
.app-main>#answerBar{order:4!important}

/* L'alerte a quitté ce bandeau : Loupe + Carte + Liste seulement à droite. */
.map-adjacent-filter-bar>.active-criteria-list{
  padding-right:142px!important;
  scroll-padding-right:142px!important;
}
.map-adjacent-filter-bar>.active-criteria-fixed-actions{z-index:30!important}

/* Rayon : état compact. Vert plein uniquement lorsqu'une limite est active. */
.map-adjacent-filter-bar .radius-filter-button.is-active{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.map-adjacent-filter-bar .radius-filter-button.is-active>.ui-icon,
.map-adjacent-filter-bar .radius-filter-button.is-active>svg{
  color:#fff!important;
  stroke:currentColor!important;
}
.map-adjacent-filter-bar .radius-filter-button.is-outside{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.radius-filter-badge{
  right:-3px!important;
  bottom:-3px!important;
  min-width:16px!important;
  height:16px!important;
  padding:0 3px!important;
  border:1px solid #11685a!important;
  background:#fff!important;
  color:#11685a!important;
  font-size:8px!important;
}
.radius-filter-menu{
  top:calc(100% + 5px)!important;
  left:0!important;
  width:132px!important;
  max-width:calc(100vw - 12px)!important;
  padding:4px!important;
  border-radius:10px!important;
  box-shadow:0 8px 22px rgba(26,63,55,.16)!important;
}
.radius-filter-help,.radius-filter-menu>strong{display:none!important}
.radius-filter-options{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
}
.radius-filter-options button,
.radius-filter-options button:first-child{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  grid-column:auto!important;
  width:100%!important;
  min-height:30px!important;
  padding:4px 8px!important;
  border:0!important;
  border-bottom:1px solid #edf2f0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#315f55!important;
  font-size:.76rem!important;
  font-weight:700!important;
  text-align:left!important;
}
.radius-filter-options button:last-child{border-bottom:0!important}
.radius-filter-options button:hover,.radius-filter-options button:focus-visible{background:#f0f7f4!important;outline:0!important}
.radius-filter-options button.is-active,.radius-filter-options button[aria-checked="true"]{
  background:#e7f5f0!important;
  color:#11685a!important;
}
.radius-filter-options button[aria-checked="true"]::after{content:"✓";font-weight:950!important}
.radius-outside-notice{display:none!important}

/* Les deux actions de publication en bas ont disparu : on rend la hauteur aux résultats. */
.suggestion-publish-actions{display:none!important}
.suggestion-bar,.suggestion-bar[hidden]{
  min-height:50px!important;
  height:50px!important;
  flex-basis:50px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
}
.suggestion-viewport,.suggestion-track,.suggestion-placeholder,.suggestion-slide{height:40px!important}

@media(max-width:699px){
  .map-adjacent-filter-bar>.active-criteria-list{padding-right:116px!important;scroll-padding-right:116px!important}
  .radius-filter-menu{width:124px!important;padding:3px!important}
  .radius-filter-options button{min-height:29px!important;padding:3px 7px!important;font-size:.73rem!important}
  .suggestion-bar,.suggestion-bar[hidden]{min-height:46px!important;height:46px!important;flex-basis:46px!important}
  .suggestion-viewport,.suggestion-track,.suggestion-placeholder,.suggestion-slide{height:38px!important}
}
@media(max-width:430px){
  .app-header{gap:5px!important;padding-left:6px!important;padding-right:6px!important}
  .app-brand{gap:6px!important}
  .app-brand-copy small{display:none!important}
  .app-brand-copy strong{font-size:.86rem!important}
  .app-logo,.app-logo img{width:38px!important;height:38px!important;flex-basis:38px!important}
  .header-actions{gap:3px!important}
  .header-icon-button,.header-ui-mode-toggle{width:32px!important;height:32px!important;min-width:32px!important;flex-basis:32px!important;border-radius:9px!important;padding:0!important}
  .header-icon-button svg{width:18px!important;height:18px!important}
  .header-publish-combined-icon{transform:scale(.88)}
  .header-publish-popover{right:-34px!important;width:min(250px,86vw)!important}
}

/* v3.15.87 — ordre demandé : pré-filtres, puis critères/outils juste avant la carte. */
.results-controls{order:1!important;z-index:8200!important}
.map-adjacent-filter-bar{order:2!important;z-index:8100!important}
.workspace{order:3!important}
.app-main>#answerBar{order:4!important}

/* Le ruban du haut ne fixe plus que la géolocalisation à gauche. */
.results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:52px!important}
.results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{
  padding-left:var(--imap-toolbar-left-space)!important;
  scroll-padding-left:var(--imap-toolbar-left-space)!important;
}

/* Rayon puis Horloge, avant les filtres actifs. */
.map-adjacent-filter-bar>.radius-filter-wrap{order:0!important}
.map-adjacent-filter-bar>#timePanel{
  order:1!important;position:relative!important;z-index:36!important;flex:0 0 38px!important;
  width:38px!important;min-width:38px!important;height:38px!important;margin:0!important;overflow:visible!important
}
.map-adjacent-filter-bar>#timePanel #timeMenuButton{
  box-sizing:border-box!important;display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;
  height:38px!important;min-height:38px!important;padding:0!important;border:1px solid #cfddd8!important;border-radius:10px!important;
  background:#fff!important;color:#315f55!important
}
.map-adjacent-filter-bar>#timePanel #timeMenuButton>.ui-icon{width:20px!important;height:20px!important}
.map-adjacent-filter-bar>#timePanel #timeMenuButton:hover,
.map-adjacent-filter-bar>#timePanel #timeMenuButton:focus-visible{border-color:#11685a!important;background:#e9f6f1!important;outline:0!important}
.map-adjacent-filter-bar>#timePanel .time-menu{top:calc(100% + 5px)!important;left:0!important;right:auto!important;z-index:99990!important}
.map-adjacent-filter-bar>.active-criteria-list{order:2!important}
.map-adjacent-filter-bar>.active-criteria-fixed-actions{order:3!important}

/* La baseline du logo reste visible sur mobile/PWA. */
@media(max-width:430px){
  .app-brand-copy small{display:block!important;font-size:.52rem!important;line-height:1.04!important;max-width:44vw!important}
  .results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:44px!important}
  .map-adjacent-filter-bar>#timePanel{flex-basis:34px!important;width:34px!important;min-width:34px!important;height:34px!important}
  .map-adjacent-filter-bar>#timePanel #timeMenuButton{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:9px!important}
  .map-adjacent-filter-bar>#timePanel #timeMenuButton>.ui-icon{width:19px!important;height:19px!important}
}
@media(max-width:360px){
  .results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:40px!important}
  .map-adjacent-filter-bar>#timePanel{flex-basis:32px!important;width:32px!important;min-width:32px!important;height:32px!important}
  .map-adjacent-filter-bar>#timePanel #timeMenuButton{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
  .app-brand-copy small{font-size:.48rem!important;max-width:42vw!important}
}

/* v3.15.88 — Position + Rayon fusionnés dans une seule icône. */
.results-controls .unified-prefilter-toolbar{
  --imap-toolbar-left-space:0px!important;
}
.results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{
  padding-left:6px!important;
  scroll-padding-left:6px!important;
}
.map-adjacent-filter-bar>.location-radius-wrap{order:0!important}
.map-adjacent-filter-bar .location-radius-button.is-active{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.map-adjacent-filter-bar .location-radius-button.is-active>.ui-icon,
.map-adjacent-filter-bar .location-radius-button.is-active>svg{
  color:#fff!important;
  stroke:currentColor!important;
}
.location-radius-menu{
  width:150px!important;
  padding:4px!important;
}
.location-radius-menu .radius-location-action{
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:32px!important;
  padding:5px 8px!important;
  margin:0 0 3px!important;
  border:0!important;
  border-bottom:1px solid #dfeae6!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#315f55!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:.76rem!important;
  font-weight:800!important;
  text-align:left!important;
  cursor:pointer!important;
}
.location-radius-menu .radius-location-action>.ui-icon,
.location-radius-menu .radius-location-action .locate-symbol,
.location-radius-menu .radius-location-action .locate-symbol img{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
}
.location-radius-menu #useMyLocation.inactive,
.location-radius-menu #useMyLocation[aria-pressed="false"]{
  background:#fff!important;
  border-color:#dfeae6!important;
  color:#315f55!important;
}
.location-radius-menu #useMyLocation.active,
.location-radius-menu #useMyLocation[aria-pressed="true"]{
  background:#e7f5f0!important;
  border-color:#11685a!important;
  color:#11685a!important;
}
.location-radius-menu .radius-location-action:hover,
.location-radius-menu .radius-location-action:focus-visible{
  background:#f0f7f4!important;
  outline:0!important;
}
.location-radius-menu .radius-location-label{
  flex:1 1 auto!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.location-radius-menu .locate-spinner{
  position:static!important;
  flex:0 0 14px!important;
  width:14px!important;
  height:14px!important;
  margin-left:auto!important;
}
@media(max-width:430px){
  .results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:0px!important}
  .results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{padding-left:5px!important;scroll-padding-left:5px!important}
  .location-radius-menu{width:144px!important}
}
@media(max-width:360px){
  .results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:0px!important}
}

/* v3.15.90 — structure finale demandée : pré-filtres, puis critères/outils, puis carte. */
.results-controls{order:1!important;position:relative!important;z-index:8200!important}
.map-adjacent-filter-bar{order:2!important;position:relative!important;z-index:8100!important}
.workspace{order:3!important}
.app-main>#answerBar{order:4!important}

/* Le bandeau des pré-filtres reste entièrement défilant et vient AVANT le bandeau Nom ×. */
.results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:0px!important;--imap-toolbar-right-space:0px!important}
.results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{
  padding-left:6px!important;padding-right:6px!important;scroll-padding-left:6px!important;scroll-padding-right:6px!important
}

/* Position/Rayon + Horloge + mots X à gauche, Loupe/Carte/Liste fixes à droite. */
.map-adjacent-filter-bar>.location-radius-wrap{order:0!important}
.map-adjacent-filter-bar>#timePanel{order:1!important}
.map-adjacent-filter-bar>.active-criteria-list{order:2!important}
.map-adjacent-filter-bar>.active-criteria-fixed-actions{order:3!important}

/* Mes Alertes est le premier pré-filtre et peut montrer les nouveautés depuis la visite précédente. */
.my-alerts-quick-button{position:relative!important}
.prefilter-alert-badge{
  position:absolute!important;top:1px!important;right:1px!important;display:grid!important;place-items:center!important;
  min-width:15px!important;height:15px!important;padding:0 3px!important;border:2px solid #fff!important;border-radius:999px!important;
  background:#b42318!important;color:#fff!important;font-size:8px!important;font-weight:950!important;line-height:1!important
}
.my-alerts-quick-button.has-new-alert-matches{border-color:#11685a!important}
.my-alerts-quick-button.is-active{background:#11685a!important;color:#fff!important;border-color:#11685a!important}

/* Position + rayon : jamais de kilométrage imprimé sous ou sur l'icône. */
.radius-filter-badge,.location-radius-button .radius-filter-badge{display:none!important}

/* Logo/header un peu plus présents, baseline toujours lisible. */
.app-header{min-height:66px!important;padding-top:6px!important;padding-bottom:6px!important}
.app-brand .app-logo,.app-brand .app-logo img{width:50px!important;height:50px!important;flex-basis:50px!important}
.app-brand-copy{height:54px!important}
.app-brand-copy strong{font-size:1.36rem!important;line-height:1!important}
.app-brand-copy small{display:block!important;font-size:.78rem!important;line-height:1.05!important;max-width:min(52vw,420px)!important}
@media(max-width:430px){
  .app-header{min-height:58px!important;padding:5px 6px!important}
  .app-brand{gap:7px!important}
  .app-brand .app-logo,.app-brand .app-logo img{width:43px!important;height:43px!important;flex-basis:43px!important}
  .app-brand-copy{height:46px!important}
  .app-brand-copy strong{font-size:1.08rem!important}
  .app-brand-copy small{display:block!important;font-size:.61rem!important;line-height:1.04!important;max-width:43vw!important}
}
@media(max-width:360px){
  .app-brand .app-logo,.app-brand .app-logo img{width:40px!important;height:40px!important;flex-basis:40px!important}
  .app-brand-copy strong{font-size:1rem!important}
  .app-brand-copy small{font-size:.55rem!important;max-width:40vw!important}
}

/* Publication d'une info : vraie modale mobile-first, dans l'esprit du partage Facebook. */
.community-submit-card{width:min(610px,calc(100vw - 20px))!important;max-height:min(88vh,760px)!important;overflow:auto!important;padding:18px!important}
.community-submit-heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start;margin:0 34px 13px 0}
.community-submit-heading h2{margin:0 0 3px;font-size:1.16rem}
.community-submit-heading p{margin:0;color:#60756f;font-size:.78rem;line-height:1.35}
.community-submit-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e7f5f0;color:#11685a}
.community-submit-icon .ui-icon{width:22px;height:22px}
.community-submit-card>label,.community-submit-grid>label{display:grid;gap:5px;margin:9px 0;color:#244a41;font-size:.76rem;font-weight:850}
.community-submit-card input,.community-submit-card select,.community-submit-card textarea{
  box-sizing:border-box;width:100%;min-width:0;border:1px solid #cbded8;border-radius:10px;background:#fff;color:#183c34;padding:9px 10px;font:inherit;font-size:.86rem
}
.community-submit-card textarea{resize:vertical;min-height:92px}
.community-submit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.community-location-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.community-location-row .utility-dialog-secondary{min-height:39px;margin:0;padding:7px 10px;white-space:nowrap}
.community-location-feedback{min-height:16px;color:#5d756e;font-size:.72rem}
.community-submit-more{margin:10px 0;border:1px solid #dce8e4;border-radius:11px;background:#f8fbfa}
.community-submit-more summary{padding:9px 10px;cursor:pointer;color:#315f55;font-size:.78rem;font-weight:850}
.community-submit-more[open] .community-submit-grid{padding:0 10px 10px}
.community-submit-card .check-line{margin:10px 0!important;font-size:.76rem!important;font-weight:700!important}
.community-submit-card .utility-dialog-submit{width:100%!important;min-height:44px!important;margin-top:5px!important}
.community-submit-card .hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:560px){
  .community-submit-dialog{align-items:flex-end!important;padding:0!important}
  .community-submit-card{width:100%!important;max-width:none!important;max-height:88dvh!important;margin:0!important;border-radius:20px 20px 0 0!important;padding:15px 12px calc(14px + env(safe-area-inset-bottom,0px))!important}
  .community-submit-grid{grid-template-columns:1fr!important;gap:0!important}
  .community-location-row{grid-template-columns:1fr!important}
  .community-location-row .utility-dialog-secondary{width:100%!important}
}

/* Bientôt : le choix temporel reste compact dans la personnalisation. */
.discovery-scenario-time-step[hidden]{display:none!important}
.discovery-scenario-time-step .discovery-scenario-radius{margin-top:7px!important}

/* v3.15.90 — ordre définitif mobile/PWA : pré-filtres, critères, carte. */
@media(max-width:699px){
  html.installed-app.imap-ui-modern .app-main{
    grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
  }
  html.installed-app.imap-ui-modern .discovery-main-panel{grid-row:1!important}
  html.installed-app.imap-ui-modern .results-controls{grid-row:2!important}
  html.installed-app.imap-ui-modern .map-adjacent-filter-bar{grid-row:3!important}
  html.installed-app.imap-ui-modern .workspace{grid-row:4!important}
  html.installed-app.imap-ui-modern .app-main>#answerBar{grid-row:5!important}
}

/* Les nouveaux résultats d'alertes se distinguent sans changer la couleur métier des marqueurs. */
.alert-match-notice.is-new{border-color:#11685a!important;background:#edf8f4!important}
.alert-match-notice.is-new strong{color:#0b6655!important}


/* v3.15.92 — localisation de publication autonome : GPS ponctuel ou point sur mini-carte. */
.community-location-picker{margin:11px 0 12px;padding:11px;border:1px solid #d5e4df;border-radius:13px;background:#f8fbfa}
.community-location-picker-heading{display:grid;gap:2px;margin-bottom:9px;color:#244a41}
.community-location-picker-heading strong{font-size:.84rem}
.community-location-picker-heading small{color:#647a74;font-size:.72rem;line-height:1.3}
.community-location-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.community-location-action{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #b9d3ca;border-radius:11px;background:#fff;color:#175f51;font:inherit;font-size:.79rem;font-weight:850;cursor:pointer}
.community-location-action:hover,.community-location-action:focus-visible{border-color:#11685a;background:#eef8f4}
.community-location-action:disabled{opacity:.55;cursor:wait}
.community-location-action .ui-icon{width:18px;height:18px}
.community-location-summary{display:flex;flex-direction:column;gap:2px;margin-top:9px;padding:9px 10px;border:1px dashed #a9c7bd;border-radius:10px;background:#fff;color:#42665e}
.community-location-summary strong{font-size:.78rem}
.community-location-summary span{font-size:.69rem;color:#6a7d78}
.community-location-summary[data-selected="1"]{border-style:solid;border-color:#85b8a7;background:#edf8f4;color:#135f50}
.community-location-map-wrap{margin-top:9px}
.community-location-map-wrap[hidden]{display:none!important}
.community-location-map{height:210px;border:1px solid #c6d9d3;border-radius:11px;overflow:hidden;background:#eaf1ef}
.community-location-map-wrap p{margin:5px 2px 0;color:#687d77;font-size:.68rem;line-height:1.3}
@media(max-width:560px){
  .community-location-actions{grid-template-columns:1fr 1fr}
  .community-location-map{height:190px}
  .community-location-picker{padding:9px}
}
@media(max-width:360px){.community-location-actions{grid-template-columns:1fr}}

/* v3.15.93 — Mes Alertes fixe avant l'horloge + gestion séparée par engrenage. */
.map-adjacent-filter-bar>.location-radius-wrap{order:0!important}
.map-adjacent-filter-bar>.active-alert-feed-button{order:1!important}
.map-adjacent-filter-bar>.alert-settings-button{order:2!important}
.map-adjacent-filter-bar>#timePanel{order:3!important}
.map-adjacent-filter-bar>.active-criteria-list{order:4!important}
.map-adjacent-filter-bar>.active-criteria-fixed-actions{order:5!important}
.map-adjacent-filter-bar>.active-alert-feed-button,
.map-adjacent-filter-bar>.alert-settings-button{
  position:relative!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
}
.map-adjacent-filter-bar>.active-alert-feed-button.is-active{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.map-adjacent-filter-bar>.alert-settings-button{
  background:#f7faf9!important;
  color:#526861!important;
}
.map-adjacent-filter-bar>.alert-settings-button:hover,
.map-adjacent-filter-bar>.alert-settings-button:focus-visible{
  border-color:#11685a!important;
  background:#e9f6f1!important;
  color:#11685a!important;
  outline:0!important;
}
.map-adjacent-filter-bar>.active-alert-feed-button .prefilter-alert-badge,
.map-adjacent-filter-bar>.alert-settings-button .local-alert-badge{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;
  z-index:4!important;
}
@media(max-width:430px){
  .map-adjacent-filter-bar>.active-alert-feed-button,
  .map-adjacent-filter-bar>.alert-settings-button{
    flex-basis:34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;
    height:34px!important;min-height:34px!important;max-height:34px!important;border-radius:9px!important;
  }
}
@media(max-width:360px){
  .map-adjacent-filter-bar>.active-alert-feed-button,
  .map-adjacent-filter-bar>.alert-settings-button{
    flex-basis:32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;
    height:32px!important;min-height:32px!important;max-height:32px!important;
  }
}
/* La création est volontairement proposée avant les alertes programmées. */
.alert-create-disclosure{margin-top:10px!important;margin-bottom:12px!important}

/* v3.15.94 — menu Position/Rayon aligné et proposition PWA disponible hors écran d'accueil. */
.location-radius-menu{
  width:146px!important;
  padding:4px!important;
}
.location-radius-menu .radius-location-action,
.location-radius-menu .radius-filter-options button,
.location-radius-menu .radius-filter-options button:first-child{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-height:30px!important;
  margin:0!important;
  padding:4px 8px!important;
  border:0!important;
  border-bottom:1px solid #edf2f0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#315f55!important;
  font:inherit!important;
  font-size:.75rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:left!important;
}
.location-radius-menu .radius-location-action>.locate-symbol,
.location-radius-menu .radius-location-action>.ui-icon{display:none!important}
.location-radius-menu .radius-location-label{flex:1 1 auto!important;min-width:0!important;padding:0!important;margin:0!important}
.location-radius-menu .radius-location-action[aria-pressed="true"]{background:#e7f5f0!important;color:#11685a!important}
.location-radius-menu .radius-location-action[aria-pressed="true"] .radius-location-label::after{content:"✓";float:right;font-weight:950}
.location-radius-menu .radius-location-action:hover,
.location-radius-menu .radius-location-action:focus-visible,
.location-radius-menu .radius-filter-options button:hover,
.location-radius-menu .radius-filter-options button:focus-visible{background:#f0f7f4!important;outline:0!important}
.location-radius-menu .radius-filter-options button:last-child{border-bottom:0!important}
.location-radius-menu .locate-spinner{margin-left:6px!important}
@media(max-width:699px){.location-radius-menu{width:142px!important}}

.install-offer{z-index:20050!important}

/* 3.15.96 — consentement Google Maps piloté par tarteaucitron */
.google-maps-consent-placeholder{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:#eef4f2;color:#173d36}
.google-maps-consent-placeholder[hidden]{display:none!important}
.google-maps-consent-placeholder strong{font-size:1rem}
.google-maps-consent-placeholder span{max-width:360px;font-size:.85rem;color:#4e655f}
.google-maps-consent-placeholder button{border:0;border-radius:999px;background:#11685a;color:#fff;padding:10px 15px;font:inherit;font-weight:800;cursor:pointer}

/* v3.15.98 — Mes Alertes devient le premier raccourci, avant Maintenant/Aujourd’hui/Bientôt. */
.discovery-alerts-action-shell{position:relative;flex:0 0 auto}
.discovery-alerts-action-shell>.discovery-main-action{
  padding-right:34px!important;
  border-color:#b8d4cb!important;
  background:#fff!important;
  color:#315f55!important;
}
.discovery-alerts-action-shell>.discovery-main-action.is-active{
  border-color:#11685a!important;
  background:#11685a!important;
  color:#fff!important;
}
.discovery-alerts-action-shell>.discovery-main-action.has-new-alert-matches:not(.is-active){
  border-color:#11685a!important;
  background:#eef8f5!important;
}
.discovery-alerts-action-shell>.discovery-scenario-config.compact{
  right:4px!important;top:50%!important;transform:translateY(-50%)!important;
  width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
  border-radius:8px!important;background:#f6faf8!important;color:#315f55!important;
}
.discovery-alerts-action-shell>.discovery-scenario-config.compact:hover,
.discovery-alerts-action-shell>.discovery-scenario-config.compact:focus-visible{
  border-color:#11685a!important;background:#e6f4ef!important;color:#11685a!important
}
.discovery-alerts-action-shell .prefilter-alert-badge{top:-4px!important;right:24px!important;z-index:5!important}
.discovery-alerts-action-shell .local-alert-badge{top:-5px!important;right:-5px!important;z-index:6!important}
/* Plus aucune commande Alertes/engrenage à côté de Position/Rayon. */
.map-adjacent-filter-bar>.active-alert-feed-button,
.map-adjacent-filter-bar>.alert-settings-button{display:none!important}

/* v3.16.03 — ordre des blocs strictement identique sur PC, mobile et PWA. */
.app-main>.discovery-main-panel{order:1!important}
.app-main>.results-controls{order:2!important}
.app-main>.map-adjacent-filter-bar{order:3!important}
.app-main>.workspace{order:4!important}
.app-main>#answerBar{order:5!important}

/* La PWA conserve sa grille pour utiliser toute la hauteur, mais avec le même ordre visuel. */
@media(max-width:699px){
  html.installed-app .app-main{
    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
  }
  html.installed-app .app-main>.discovery-main-panel{grid-row:1!important}
  html.installed-app .app-main>.results-controls{grid-row:2!important}
  html.installed-app .app-main>.map-adjacent-filter-bar{grid-row:3!important}
  html.installed-app .app-main>.workspace{grid-row:4!important}
  html.installed-app .app-main>#answerBar{grid-row:5!important}
}


/* v3.16.04 — accueil personnalisé, commandes fixes et affichage mobile/desktop cohérent. */
.welcome-modern-home .modern-welcome-brand-animated{display:grid!important;justify-items:center!important;gap:7px!important;margin-bottom:8px!important;text-align:center!important}
.welcome-modern-home .modern-welcome-brand-animated>img{width:82px!important;height:82px!important;border-radius:20px!important}
.welcome-modern-home .modern-welcome-brand-copy{display:grid!important;justify-items:center!important;gap:1px!important;text-align:center!important}
.welcome-modern-home .modern-welcome-brand-copy>strong{font-size:1.28rem!important}
.welcome-modern-home .modern-welcome-tagline{margin:0!important;font-size:.82rem!important;min-height:1.5em!important}
.welcome-modern-home .modern-welcome-tagline .welcome-tagline-rotator{width:19.4em!important;max-width:90vw!important}
.welcome-modern-home .modern-welcome-heading-compact{margin:0 0 10px!important;text-align:center!important}
.welcome-modern-home .modern-welcome-heading-compact>span{font-size:clamp(1.08rem,4.8vw,1.35rem)!important;font-weight:900!important}
.welcome-modern-home .modern-welcome-heading-compact h1,.welcome-modern-home .modern-welcome-heading-compact p{display:none!important}
.discovery-alerts-action-shell>.discovery-main-action{padding-right:10px!important}
.discovery-alerts-action-shell>.discovery-scenario-config{display:none!important}

/* Position/Rayon + Horloge : deux premières icônes fixes sur la ligne des pré-filtres. */
.results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:92px!important;position:relative!important;min-height:48px!important}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left{position:absolute!important;z-index:50!important;left:0!important;top:0!important;bottom:0!important;display:flex!important;align-items:center!important;gap:5px!important;padding:5px 7px!important;background:#fff!important;border-right:1px solid #dce7e3!important;box-shadow:8px 0 12px -12px rgba(24,65,56,.55)!important}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .radius-filter-wrap,.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .time-menu-wrap{position:relative!important;flex:0 0 36px!important;width:36px!important;min-width:36px!important}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .criteria-tool-button{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border:1px solid #c4d7d1!important;border-radius:10px!important;background:#fff!important;color:#315f55!important}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .radius-filter-button.is-active,.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .time-menu-button.active{background:#11685a!important;color:#fff!important;border-color:#11685a!important}
.results-controls .unified-prefilter-toolbar>.results-toolbar-scroll{padding-left:var(--imap-toolbar-left-space)!important;scroll-padding-left:var(--imap-toolbar-left-space)!important}
.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .location-radius-menu,.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .time-menu{top:43px!important;left:6px!important;right:auto!important}

/* Bandeau avant carte : filtres à gauche, Loupe puis création/modification d'alerte à droite. */
.map-adjacent-filter-bar>.active-criteria-list{padding-right:96px!important;scroll-padding-right:96px!important}
.map-adjacent-filter-bar>.active-criteria-fixed-actions{min-width:88px!important}
.search-alert-button{position:relative!important}
.search-alert-combined-icon{position:relative!important;display:block!important;width:22px!important;height:22px!important}
.search-alert-combined-icon>.ui-icon{position:absolute!important;margin:0!important;padding:0!important}
.search-alert-combined-icon>.ui-icon:first-child{inset:1px auto auto 0!important;width:20px!important;height:20px!important}
.search-alert-combined-icon>.ui-icon:last-child{right:-2px!important;bottom:-2px!important;width:11px!important;height:11px!important;padding:1px!important;border-radius:50%!important;background:#fff!important;color:#11685a!important}
.search-alert-button .local-alert-badge{position:absolute!important;top:-4px!important;right:-4px!important;z-index:3!important}

/* Carte/Liste : toujours superposés au contenu, jamais dans la ligne des filtres. */
.workspace>.map-view-overlay{display:flex!important;z-index:95!important;top:10px!important;right:10px!important}
.workspace>.map-view-overlay button{background:rgba(255,255,255,.96)!important;box-shadow:0 3px 12px rgba(0,45,36,.16)!important}
.workspace>.map-view-overlay button[aria-pressed="true"]{background:#11685a!important;color:#fff!important;border-color:#11685a!important}
#listView .results-list{padding-top:66px!important}

/* La recherche reste à gauche des boutons Carte/Liste superposés. */
.map-search-overlay{right:104px!important;max-width:calc(100% - 116px)!important}

/* Suggestions sur trois lignes, avec distance et avis en 3e ligne. */
.suggestion-bar,.suggestion-bar[hidden]{min-height:80px!important;height:80px!important;flex-basis:80px!important;padding-top:6px!important;padding-bottom:6px!important}
.suggestion-viewport,.suggestion-track,.suggestion-placeholder,.suggestion-slide{height:66px!important}
.suggestion-slide{padding-top:6px!important;padding-bottom:6px!important;align-items:center!important}
.suggestion-copy{display:grid!important;grid-template-rows:auto auto auto!important;gap:2px!important;min-width:0!important}
.suggestion-copy strong{font-size:.82rem!important;line-height:1.1!important}
.suggestion-copy .suggestion-line-two{font-size:.71rem!important;line-height:1.1!important;color:#315f55!important}
.suggestion-copy .suggestion-line-three{font-size:.68rem!important;line-height:1.1!important;color:#6a7d78!important}

@media(max-width:699px){
  .welcome-modern-home .modern-welcome-brand-animated>img{width:68px!important;height:68px!important}
  .results-controls .unified-prefilter-toolbar{--imap-toolbar-left-space:84px!important;min-height:44px!important}
  .results-controls .unified-prefilter-toolbar>.persistent-toolbar-left{gap:4px!important;padding:5px 5px!important}
  .results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .radius-filter-wrap,.results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .time-menu-wrap{flex-basis:34px!important;width:34px!important;min-width:34px!important}
  .results-controls .unified-prefilter-toolbar>.persistent-toolbar-left .criteria-tool-button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-radius:9px!important}
  .map-adjacent-filter-bar>.active-criteria-list{padding-right:84px!important;scroll-padding-right:84px!important}
  .map-search-overlay{right:94px!important;max-width:calc(100% - 102px)!important}
  .workspace>.map-view-overlay{top:8px!important;right:8px!important}
  #listView .results-list{padding-top:60px!important}
  .suggestion-bar,.suggestion-bar[hidden]{min-height:74px!important;height:74px!important;flex-basis:74px!important}
  .suggestion-viewport,.suggestion-track,.suggestion-placeholder,.suggestion-slide{height:60px!important}
}

/* compatibilité historique alignement */
.results-toolbar-fixed #useMyLocation>.ui-icon{display:block}


/* v3.16.08 — accueil centré/agrandi, publication locale et badge Mes Alertes sur la cloche. */
.welcome-modern-home{
  width:min(860px,100%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
.welcome-modern-home .modern-welcome-brand-animated{
  width:100%!important;
  justify-items:center!important;
  align-items:center!important;
  text-align:center!important;
  gap:9px!important;
  margin-bottom:12px!important;
}
.welcome-modern-home .modern-welcome-brand-animated>img{
  width:clamp(118px,11vw,156px)!important;
  height:clamp(118px,11vw,156px)!important;
  border-radius:30px!important;
}
.welcome-modern-home .modern-welcome-brand-copy{
  width:100%!important;
  justify-items:center!important;
  text-align:center!important;
}
.welcome-modern-home .modern-welcome-brand-copy>strong{
  font-size:clamp(1.55rem,2.5vw,2rem)!important;
  line-height:1!important;
}
.welcome-modern-home .modern-welcome-tagline{
  width:100%!important;
  margin:4px auto 0!important;
  font-size:clamp(1rem,1.8vw,1.22rem)!important;
  line-height:1.35!important;
  text-align:center!important;
}
.welcome-modern-home .modern-welcome-tagline .welcome-tagline-rotator{
  margin-inline:auto!important;
  width:21em!important;
  max-width:94vw!important;
}
.welcome-modern-home .modern-welcome-heading-compact{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin:2px auto 14px!important;
  padding:0!important;
  text-align:center!important;
}
.welcome-modern-home .modern-welcome-heading-compact>span{
  width:100%!important;
  margin:0!important;
  text-align:center!important;
  font-size:clamp(1.35rem,2.8vw,1.8rem)!important;
  line-height:1.15!important;
}
.modern-welcome-publish{
  width:100%!important;
  margin-top:12px!important;
  text-align:center!important;
}
.modern-welcome-publish>p{
  margin:0 0 8px!important;
  color:rgba(255,255,255,.94)!important;
  font-size:.82rem!important;
  line-height:1.35!important;
  font-weight:820!important;
}
.modern-welcome-utilities{
  width:100%!important;
  max-width:650px!important;
  margin:0 auto!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.modern-welcome-utilities .modern-welcome-publish-action{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  padding:9px 10px!important;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:14px!important;
  background:rgba(5,77,61,.55)!important;
  color:#fff!important;
  text-align:left!important;
  text-decoration:none!important;
}
.modern-welcome-utilities .modern-welcome-publish-action>.ui-icon{flex:0 0 20px;width:20px;height:20px}
.modern-welcome-utilities .modern-welcome-publish-action>span{min-width:0;display:grid;gap:1px}
.modern-welcome-utilities .modern-welcome-publish-action strong{font-size:.72rem}
.modern-welcome-utilities .modern-welcome-publish-action small{font-size:.61rem;line-height:1.2;opacity:.82}
.discovery-alert-icon-wrap{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
}
.discovery-alert-icon-wrap>.prefilter-alert-badge{
  position:absolute!important;
  top:-7px!important;
  right:-8px!important;
  left:auto!important;
  z-index:6!important;
}
/* L'ancien positionnement visait le bouton entier et n'est plus utilisé. */
.discovery-alerts-action-shell .prefilter-alert-badge{right:-8px!important;top:-7px!important}

@media(max-width:699px){
  .welcome-modern-home{
    padding-top:max(72px,calc(env(safe-area-inset-top,0px) + 64px))!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .welcome-modern-home .modern-welcome-brand-animated>img{
    width:96px!important;
    height:96px!important;
    border-radius:24px!important;
  }
  .welcome-modern-home .modern-welcome-brand-copy>strong{font-size:1.42rem!important}
  .welcome-modern-home .modern-welcome-tagline{font-size:.94rem!important}
  .welcome-modern-home .modern-welcome-heading-compact>span{
    font-size:clamp(1.3rem,6vw,1.62rem)!important;
  }
  .modern-welcome-publish>p{font-size:.76rem!important}
  .modern-welcome-utilities{gap:7px!important}
  .modern-welcome-utilities button,.modern-welcome-utilities .modern-welcome-publish-action{padding:8px 9px!important}
  .modern-welcome-utilities small,.modern-welcome-utilities .modern-welcome-publish-action small{display:none!important}
}
@media(max-width:390px){
  .welcome-modern-home .modern-welcome-brand-animated>img{width:90px!important;height:90px!important}
  .welcome-modern-home .modern-welcome-tagline{font-size:.88rem!important}
  .modern-welcome-publish>p{font-size:.72rem!important}
}

.discovery-alert-icon-wrap>.prefilter-alert-badge[hidden]{display:none!important}


/* v3.16.09 — recherche Carte/Liste, header agrandi, boutons personnalisés. */
.custom-discovery-buttons{display:contents!important}
.tone-custom{border-color:#c8d8d3!important;background:#f7faf9!important;color:#274f46!important}
.custom-discovery-shell{position:relative}.custom-discovery-add-shell .tone-custom{border-style:dashed!important}
.custom-discovery-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:42vh;overflow:auto;padding:8px;border:1px solid #d9e5e1;border-radius:12px}
.custom-discovery-families legend{font-weight:900;padding:0 5px}.custom-discovery-card{max-width:min(560px,calc(100vw - 24px))}
.map-search-overlay{z-index:94!important;pointer-events:auto!important}
#listView.active~.map-search-overlay,.workspace>.map-search-overlay{display:block}
.workspace>.map-search-overlay[hidden]{display:none!important}
.active-criteria-fixed-actions #createAlertButton>.ui-icon{width:21px!important;height:21px!important}
@media(max-width:699px){
  .app-header .app-logo{width:54px!important;height:54px!important;min-width:54px!important}.app-header .app-logo img{width:54px!important;height:54px!important}
  .app-header .app-brand-copy strong{font-size:1.18rem!important}.app-header .app-brand-copy small,.app-header .app-header-tagline{font-size:.76rem!important;line-height:1.08!important;max-width:calc(100vw - 205px)!important;white-space:normal!important}
  .app-header .header-actions{flex:0 0 auto!important}.app-header .app-brand{min-width:0!important;max-width:calc(100% - 132px)!important}
  .map-search-overlay{left:6px!important;right:94px!important;max-width:calc(100% - 100px)!important}
  .custom-discovery-families{grid-template-columns:1fr}
}
@media(min-width:700px){
  .app-header .app-logo{width:62px!important;height:62px!important;min-width:62px!important}.app-header .app-logo img{width:62px!important;height:62px!important}
  .app-header .app-brand-copy strong{font-size:1.34rem!important}.app-header .app-brand-copy small,.app-header .app-header-tagline{font-size:.86rem!important}
}

/* 3.16.14 — moteur cartographique de secours OpenStreetMap/Leaflet. */
#map.leaflet-container{background:#dce7e4;font-family:inherit}
.ici-osm-marker-image{background:transparent!important;border:0!important}
.ici-osm-div-marker{background:transparent!important;border:0!important}
.ici-osm-cluster-dot{display:grid;place-items:center;border-radius:50%;box-sizing:border-box;font-weight:900;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.ici-osm-cluster-dot span{display:block;transform:translateY(.5px)}
.ici-osm-default-dot{width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:#11685a;box-shadow:0 2px 7px rgba(0,0,0,.25);box-sizing:border-box}
.leaflet-popup.ici-osm-popup .leaflet-popup-content-wrapper{border-radius:15px;box-shadow:0 8px 28px rgba(0,0,0,.22)}
.leaflet-popup.ici-osm-popup .leaflet-popup-content{margin:12px 14px;min-width:235px;max-width:320px}
.leaflet-popup.ici-osm-popup .popup-topbar{display:flex!important;position:static!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:none!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 0 8px!important;padding:1px!important;gap:4px!important}
.leaflet-popup.ici-osm-popup .popup-icon-action{flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
.leaflet-popup.ici-osm-popup .leaflet-popup-close-button{width:32px;height:32px;font-size:24px;color:#334155}
.leaflet-control-attribution{font-size:10px!important;background:rgba(255,255,255,.9)!important}
@media(max-width:699px){.leaflet-popup.ici-osm-popup .leaflet-popup-content{margin:10px 11px;min-width:220px;max-width:285px}.leaflet-control-attribution{font-size:9px!important;max-width:72vw;white-space:normal;line-height:1.15}}
