/* Cartes de découverte, puis territoire replié ; recherche conservée au centre. */
#app.ljo-shell>.topbar .brand { position:relative; }
#app .ljo-territories {
  position:absolute;
  top:calc(100% + 8px);
  left:2px;
  width:320px;
  display:grid;
  grid-template-columns:1.05fr 1.2fr .9fr 1fr;
  align-items:start;
  gap:5px;
  margin:0;
  padding:0;
  background:none;
  border:0;
  box-shadow:none;
}
#app .ljo-territories--right { grid-template-columns:1fr 1.15fr .8fr; }
#app .ljo-territory {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:5px;
  background:transparent;
  box-shadow:none;
  appearance:none;
  color:#623396;
  cursor:pointer;
}
#app .ljo-territory:hover { color:#421773; }
#app .ljo-territory:focus-visible { outline:2px solid #7043ab;outline-offset:3px; }
#app .ljo-territory[aria-pressed="true"]>span { text-decoration:underline;text-underline-offset:3px; }
#app .ljo-territory>svg {
  display:block;
  width:100%;
  height:48px;
  overflow:hidden;
}
#app .ljo-territory>span {
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:var(--territory-label-size,9px);
  line-height:1.15;
  font-weight:600;
  letter-spacing:0;
  text-align:center;
  white-space:nowrap;
}
@media(min-width:1200px) and (max-width:1279px) {
  #app .ljo-territories { gap:3px; }
}
@media(min-width:900px) and (max-width:1199px) {
  #app.ljo-shell>.topbar { height:157px!important;min-height:157px!important;padding:23px 28px 84px!important;align-items:flex-start!important; }
  #app.ljo-shell>.topbar #headerSearchPanel { position:absolute!important;bottom:17px!important;top:auto!important;left:50%!important;transform:translateX(-50%)!important;width:calc(100% - 480px)!important;max-width:730px!important;height:52px!important;margin:0!important; }
  #app.ljo-shell>.bottom-nav { top:157px!important; }
}
@media(max-width:899px) {
  #app.ljo-shell>.topbar { height:190px!important;min-height:190px!important;padding-bottom:132px!important; }
  #app.ljo-shell>.bottom-nav { top:190px!important; }
  #app .ljo-territories { width:calc(100vw - 24px); }
}
#app #desktopLocationMenu.ljo-city-menu {
  position:fixed;left:var(--city-left,12px);top:var(--city-top,150px);right:auto;
  width:min(370px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - var(--city-top,150px) - 12px);
  box-sizing:border-box;overflow:auto;overscroll-behavior:contain;z-index:1000;
  display:grid;gap:12px;padding:16px;border:1px solid #e9dfef;border-radius:18px;
  background:#fff;box-shadow:0 16px 45px #30244022;
}
#app #desktopCityLabel { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
#app .ljo-city-menu .desktop-use-location {
  display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 13px;
  border:1px solid #e2d5ef;border-radius:13px;background:#f5effa;color:#7141a6;
  font:inherit;font-size:14px;font-weight:700;cursor:pointer;
}
#app .ljo-city-menu .desktop-use-location.is-loading { opacity:.72; }
#app .ljo-city-menu .desktop-use-location.is-active { background:#7141a6;color:white; }
#app .ljo-city-menu .desktop-use-location.is-error { background:#fff1f1;color:#b42318; }
#app .ljo-city-menu .desktop-use-location-icon,#app .ljo-city-menu .desktop-use-location-icon svg { width:21px;height:21px;display:block; }
#app .ljo-city-menu .desktop-use-location-icon svg { fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round; }
#app .ljo-city-menu .compact-radius-control { display:grid;gap:7px;padding:11px 12px;border:1px solid #e2d5ef;border-radius:13px; }
#app .ljo-city-menu .desktop-radius-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
#app .ljo-city-menu .desktop-radius-head>span { font-size:12px;letter-spacing:0; }
#app .ljo-city-menu .desktop-radius-head>strong { font-size:13px;white-space:nowrap;color:#7141a6; }
#app .ljo-city-menu input[type="range"] { width:100%;margin:0;accent-color:#7141a6; }
#app .ljo-city-menu .compact-radius-scale { display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#71647e; }
#app .ljo-city-picker { display:grid;gap:8px;margin:12px 0; }
#app .ljo-city-heading { display:flex;align-items:center;justify-content:space-between; }
#app .ljo-city-picker label,#app #territoryMenuTitle { font-size:13px;font-weight:700;color:#39265c; }
#app #territoryCityClose { border:0;background:none;color:#623396;font-size:24px;padding:0 8px;cursor:pointer; }
#app .ljo-city-picker input,#app .ljo-city-picker select {
  width:100%;min-width:0;box-sizing:border-box;border:1px solid #ddd3ea;border-radius:9px;
  padding:10px 12px;background:white;color:#241335;font:inherit;font-size:14px;
}
#app #territoryCityStatus { margin:0;color:#71647e;font-size:12px; }
#app #territoryCityHint { margin:0;color:#71647e;font-size:12px;line-height:1.4; }
#app .ljo-city-results { max-height:220px;overflow-y:auto;overscroll-behavior:contain;min-height:36px; }
#app .ljo-city-option {
  display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;
  margin:0;padding:10px 8px;border:0;border-radius:6px;background:transparent;color:#352147;font:inherit;font-size:14px;cursor:pointer;
}
#app .ljo-city-option small { color:#776787;flex-shrink:0;font-size:11px;max-width:44%;text-align:right; }
#app .ljo-city-option:hover,#app .ljo-city-option:focus-visible,#app .ljo-city-option[aria-pressed="true"] { background:#f0e9fa; }
#app #territoryCityMore { padding:8px;border:1px solid #ddd3ea;border-radius:8px;color:#623396;background:white;cursor:pointer; }
#app #territoryCityMore[hidden],#app .desktop-location-field[hidden],
#app .ljo-territories[hidden],#app .ljo-territory-selection[hidden],
#app #territoryChoices[hidden],#app .ljo-city-menu .compact-radius-control[hidden] { display:none!important; }
#app .ljo-territory-selection {
  position:absolute;top:calc(100% + 8px);display:flex;align-items:center;gap:10px;
  height:58px;padding:6px 10px;border:1px solid #e7deee;border-radius:12px;
  background:rgba(255,255,255,.68);color:#623396;box-shadow:none;cursor:pointer;
  text-align:left;font:inherit;box-sizing:border-box;
}
#app .ljo-territory-selection:hover {background:#f6f0fc;border-color:#c8b5de;}
#app .ljo-territory-selection:focus-visible,#app #territoryRegionToggle:focus-visible {outline:2px solid #7043ab;outline-offset:3px;}
#app .ljo-selected-map {display:block;flex:0 0 36px;height:40px;}
#app .ljo-selected-map svg {display:block;width:36px;height:40px;overflow:hidden;}
#app .ljo-selected-copy {display:grid;gap:2px;min-width:0;flex:1;}
#app .ljo-selected-copy strong {font-size:14px;line-height:1.2;font-weight:700;white-space:nowrap;}
#app .ljo-selected-copy small {font-size:11px;line-height:1.25;color:#756181;}
#app .ljo-selected-chevron {flex:0 0 auto;font-size:17px;}
#app #territoryRegionToggle {
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;min-height:42px;padding:10px 12px;border:1px solid #ddd3ea;border-radius:9px;
  background:white;color:#39265c;font:inherit;font-size:14px;text-align:left;cursor:pointer;
}
#app .ljo-territory-choices {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px 0 7px;}
#app .ljo-territory-choices .ljo-territory {padding:7px 2px;border:1px solid transparent;border-radius:9px;gap:5px;}
#app .ljo-territory-choices .ljo-territory>svg {height:36px;}
#app .ljo-territory-choices .ljo-territory>span {font-family:inherit;font-size:10px;}
#app .ljo-territory-choices .ljo-territory:hover,#app .ljo-territory-choices .ljo-territory[aria-pressed="true"] {background:#f4edfb;border-color:#dfceee;}
#app #territoryAllCities {border:1px solid #e6dcee;padding:10px;border-radius:9px;}
#app #territoryAllCities>span {font-weight:600;}
#app #territoryCityClose {min-width:36px;min-height:36px;}
#app .ljo-city-option {min-height:42px;}
@media(min-width:900px) {
  #app.ljo-shell>.topbar.ljo-territory-selected #headerSearchPanel .desktop-location-trigger {padding-inline:6px!important;}
}
@media(min-width:900px) and (max-width:1199px) {
  #app .ljo-territory-selection {gap:6px;padding-inline:7px;}
  #app .ljo-selected-map,#app .ljo-selected-map svg {width:29px;}
  #app .ljo-selected-map {flex-basis:29px;}
  #app .ljo-selected-copy strong {font-size:12px;}
  #app .ljo-selected-copy small {font-size:10px;}
}
@media(max-width:899px) {
  #app .ljo-city-picker input,#app .ljo-city-picker select { font-size:16px; }
}
